From bd0551b22076b82a6d49e9f7a2b2e0c90a1b2326 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Fri, 05 Feb 2016 07:25:27 -0500
Subject: [PATCH] Secure also downloads of addressbook exports, managesieve script exports and Enigma keys exports

---
 skins/larry/styles.css | 1256 ++++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 1,051 insertions(+), 205 deletions(-)

diff --git a/skins/larry/styles.css b/skins/larry/styles.css
index 3356413..1321564 100644
--- a/skins/larry/styles.css
+++ b/skins/larry/styles.css
@@ -1,7 +1,7 @@
 /**
  * Roundcube webmail styles for skin "Larry"
  *
- * Copyright (c) 2012, The Roundcube Dev Team
+ * Copyright (c) 2012-2015, The Roundcube Dev Team
  * Screendesign by FLINT / Büro für Gestaltung, bueroflint.com
  *
  * The contents are subject to the Creative Commons Attribution-ShareAlike
@@ -23,6 +23,11 @@
 	overflow: hidden;
 }
 
+.iphone body.noscroll {
+	/* revert on iPhone (#1490551) */
+	overflow: auto;
+}
+
 a {
 	color: #0069a6;
 }
@@ -35,6 +40,30 @@
   border: 0;
 }
 
+.voice {
+	position: absolute;
+	border: 0;
+	clip: rect(0 0 0 0);
+	width: 1px;
+	height: 1px;
+	margin: -1px;
+	padding: 0;
+	overflow: hidden;
+}
+
+html.mozilla select {
+	padding: 2px 1px;
+}
+
+input,
+textarea,
+select,
+button {
+	font-family: inherit;
+	font-size: inherit;
+	vertical-align: middle;
+}
+
 input[type="text"],
 input[type="password"],
 textarea {
@@ -43,9 +72,7 @@
 	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,
@@ -54,10 +81,13 @@
 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[type="text"]:required,
+input[type="password"]:required {
+	border-color: #4787b1;
 }
 
 input.placeholder,
@@ -70,8 +100,7 @@
 }
 
 /* fixes vertical alignment of checkboxes and labels */
-label input,
-label span {
+label input + span {
 	vertical-align: middle;
 }
 
@@ -90,11 +119,9 @@
 	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%);
+	background: linear-gradient(to bottom, #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;
 }
@@ -111,11 +138,9 @@
 	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 */
+	background: linear-gradient(to bottom, #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,
@@ -125,9 +150,7 @@
 	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 {
@@ -136,7 +159,7 @@
 	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%);
+	background: linear-gradient(to bottom, #5c5c5c 0%, #7b7b7b 100%);
 }
 
 input.button.mainaction {
@@ -148,11 +171,9 @@
 	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%);
+	background: linear-gradient(to bottom, #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 {
@@ -162,7 +183,7 @@
 	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%);
+	background: linear-gradient(to bottom, #2a2e31 0%, #505050 100%);
 }
 
 input.button[disabled],
@@ -177,7 +198,8 @@
 
 /** link buttons **/
 
-a.button {
+a.button,
+.buttongroup {
 	display: inline-block;
 	margin: 0 2px;
 	padding: 2px 5px;
@@ -190,21 +212,22 @@
 	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%);
+	background: linear-gradient(to bottom, #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;
+}
+
+.buttongroup {
+	padding: 0;
+	white-space: nowrap;
 }
 
 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;
 }
 
@@ -221,14 +244,32 @@
 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);
+}
+
+.buttongroup a.button {
+	margin: 0;
+	border-width: 0 1px 0 0;
+	border-radius: 0;
+	background: none;
+	box-shadow: none;
+	-webkit-box-shadow: none;
+}
+
+.buttongroup a.button.first,
+.buttongroup a.button:first-child {
+	border-radius: 4px 0 0 4px;
+	border-left: 0;
+}
+
+.buttongroup a.button.last,
+.buttongroup a.button:last-child {
+	border-radius: 0 4px 4px 0;
+	border-right: 0;
 }
 
 a.button.pressed,
@@ -239,7 +280,7 @@
 	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%);
+	background: linear-gradient(to bottom, #e6e6e6 0%, #f9f9f9 100%);
 }
 
 .pagenav.dark a.button {
@@ -250,11 +291,9 @@
 	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%);
+	background: linear-gradient(to bottom, #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 {
@@ -263,7 +302,31 @@
 	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%);
+	background: linear-gradient(to bottom, #bababa 0%, #d8d8d8 100%);
+}
+
+.buttongroup a.button.selected,
+.buttongroup a.button.selected:hover {
+	background: #8a8a8a;
+	background: -moz-linear-gradient(top, #909090 0%, #858585 100%);
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#909090), color-stop(100%,#858585));
+	background: -o-linear-gradient(top, #909090 0%, #858585 100%);
+	background: -ms-linear-gradient(top, #909090 0%, #858585 100%);
+	background: linear-gradient(to bottom, #909090 0%, #858585 100%);
+	box-shadow: inset 0 1px 2px 0 #555;
+	-webkit-box-shadow: inset 0 1px 2px 0 #555;
+	border-right-color: #555;
+	border-left-color: #555;
+}
+
+.buttongroup a.button:focus,
+.buttongroup a.button.selected:focus {
+	background: #f2f2f2;
+	background: -moz-linear-gradient(top, #49b3d2 0, #66bcd9 100%);
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0,#49b3d2), color-stop(100%,#66bcd9));
+	background: -o-linear-gradient(top, #49b3d2 0, #66bcd9 100%);
+	background: -ms-linear-gradient(top, #49b3d2 0, #66bcd9 100%);
+	background: linear-gradient(to bottom, #49b3d2 0, #66bcd9 100%);
 }
 
 .pagenav a.button {
@@ -273,6 +336,13 @@
 	margin-bottom: 1px;
 }
 
+.pagenav .buttongroup a.button,
+.pagenav .buttongroup a.button:hover {
+	padding: 1px 5px;
+	margin-bottom: 0;
+}
+
+a.button span.icon,
 .pagenav a.button span.inner {
 	display: inline-block;
 	width: 16px;
@@ -282,40 +352,75 @@
 	background: url(images/buttons.png) -6px -211px no-repeat;
 }
 
+a.button.prevpage span.icon,
 .pagenav a.prevpage span.inner {
 	background-position: -7px -226px;
 }
 
+a.button.nextpage span.icon,
 .pagenav a.nextpage span.inner {
 	background-position: -28px -226px;
 }
 
+a.button.lastpage span.icon,
 .pagenav a.lastpage span.inner {
 	background-position: -28px -211px;
 }
 
+a.button.pageup span.icon,
 .pagenav a.pageup span.inner {
 	background-position: -7px -241px;
 }
 
+a.button.pagedown span.icon,
 .pagenav a.pagedown span.inner {
 	background-position: -29px -241px;
 }
 
+a.button.reply span.icon,
 .pagenav a.reply span.inner {
 	background-position: -7px -256px;
 }
 
+a.button.forward span.icon,
 .pagenav a.forward span.inner {
 	background-position: -29px -256px;
 }
 
+a.button.replyall span.icon,
 .pagenav a.replyall span.inner {
 	background-position: -7px -271px;
 }
 
+a.button.extwin span.icon,
 .pagenav a.extwin span.inner {
 	background-position: -29px -271px;
+}
+
+a.button.changeformat.html span.icon,
+.pagenav a.changeformat.html span.inner {
+	background-position: -7px -1859px;
+}
+a.button.changeformat.html.selected span.icon,
+.pagenav a.changeformat.html.selected span.inner {
+	background-position: -29px -1859px;
+}
+
+a.button.changeformat.text span.icon,
+.pagenav a.changeformat.text span.inner {
+	background-position: -7px -1874px;
+}
+a.button.changeformat.text.selected span.icon,
+.pagenav a.changeformat.text.selected span.inner {
+	background-position: -29px -1874px;
+}
+
+a.button.add span.icon {
+	background-position: -7px -2009px;
+}
+
+a.button.delete span.icon {
+	background-position: -29px -2009px;
 }
 
 .pagenav .countdisplay {
@@ -330,9 +435,17 @@
 	top: -2px;
 }
 
+.pagenav .pagejumper {
+	text-align: center;
+	background: #f8f8f8;
+	padding: 3px 0;
+	background: linear-gradient(to bottom, #dddddd 0%, #f8f8f8 100%);
+	cursor: default;
+}
+
 a.iconbutton {
 	display: inline-block;
-	width: 24px;
+	width: 20px;
 	height: 18px;
 	text-decoration: none;
 	text-indent: -5000px;
@@ -341,21 +454,53 @@
 
 a.iconbutton.disabled {
 	opacity: 0.4;
-	filter: alpha(opacity=40);
 	cursor: default;
 }
 
+a.iconbutton.searchicon,
 a.iconbutton.searchoptions {
+	width: 24px;
 	background-position: -2px -317px;
 }
 
+a.iconbutton.searchicon {
+	width: 15px;
+}
+
 a.iconbutton.reset {
+	width: 24px;
 	background-position: -25px -317px;
 }
 
+a.iconbutton.remove,
 a.iconbutton.cancel {
-	background-position: -7px -377px;
+	background-position: -7px -378px;
 }
+
+a.iconbutton.delete {
+	background-position: -7px -338px;
+}
+
+a.iconbutton.add {
+	background-position: -7px -358px;
+}
+
+a.iconbutton.remove {
+	background-position: -7px -379px;
+}
+
+a.iconbutton.cancel {
+	background-position: -7px -398px;
+}
+
+a.iconbutton.edit {
+	background-position: -7px -418px;
+}
+
+a.iconbutton.upload {
+	background-position: -6px -438px;
+}
+
 
 a.iconlink {
 	display: inline-block;
@@ -398,6 +543,7 @@
 /*** message bar ***/
 
 #message div.loading,
+#message div.uploading,
 #message div.warning,
 #message div.error,
 #message div.notice,
@@ -443,6 +589,7 @@
 }
 
 #message.statusbar {
+	display: none;
 	position: absolute;
 	bottom: 0;
 	left: 0;
@@ -456,10 +603,111 @@
 	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%);
+	background: linear-gradient(to bottom, #eaeaea 0%, #c8c8c8 100%);
 	white-space: nowrap;
 	overflow: hidden;
 	text-overflow: ellipsis;
+}
+
+#messagestack {
+	position: absolute;
+	bottom: 20px;
+	right: 12px;
+	z-index: 50000;
+	width: auto;
+	height: auto;
+	max-height: 85%;
+	overflow-y: auto;
+	padding: 2px;
+}
+
+#messagestack div {
+	display: block;
+	position: relative;
+	width: 280px;
+	height: auto;
+	min-height: 16px;
+	margin: 3px 2px 5px 2px;
+	padding: 8px 10px 7px 30px;
+	cursor: default;
+	font-size: 12px;
+	font-weight: bold;
+	border-radius: 4px;
+	border: 1px solid #444;
+	color: #ebebeb;
+	text-shadow: 0 1px 1px #000;
+
+	background: rgba(64,64,64,0.85);
+	background: -moz-linear-gradient(top, rgba(64,64,64,0.85) 0%, rgba(48,48,48,0.9) 100%);
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(64,64,64,0.85)), color-stop(100%,rgba(48,48,48,0.9)));
+	background: -webkit-linear-gradient(top, rgba(64,64,64,0.85) 0%, rgba(48,48,48,0.85) 100%);
+	background: -o-linear-gradient(top, rgba(64,64,64,0.85) 0%, rgba(48,48,48,0.85) 100%);
+	background: -ms-linear-gradient(top, rgba(64,64,64,0.85) 0%, rgba(48,48,48,0.85) 100%);
+	background: linear-gradient(to bottom, rgba(64,64,64,0.85) 0%, rgba(48,48,48,0.85) 100%);
+
+	box-shadow: 0 1px 4px 0 rgba(50,50,50,0.8), inset 0px 1px 0 0px #888;
+	-webkit-box-shadow: 0 1px 4px 0 rgba(50,50,50,0.8), inset 0px 1px 0 0px #888;
+}
+
+#messagestack div:after {
+	content: "";
+	position: absolute;
+	display: block;
+	top: 0;
+	left: 4px;
+	width: 20px;
+	height: 24px;
+	background: url(images/messages_dark.png) 0 7px no-repeat;
+}
+
+#messagestack div.error {
+	color: #ff615d;
+}
+
+#messagestack div.error:after {
+	background-position: 0 -55px;
+}
+
+#messagestack div.warning {
+	color: #f4bf0e;
+}
+
+#messagestack div.warning:after {
+	background-position: 0 -84px;
+}
+
+#messagestack div.confirmation {
+	color: #00e05a;
+}
+
+#messagestack div.confirmation:after {
+	background-position: 0 -25px;
+}
+
+#messagestack div.uploading,
+#messagestack div.loading {
+	color: #ddd;
+}
+
+#messagestack div.uploading:after,
+#messagestack div.loading:after {
+	top: 4px;
+	left: 6px;
+	background: url(images/ajaxloader_dark.gif) 0 4px no-repeat;
+}
+
+#messagestack div.voice {
+	position: absolute;
+	top: -1000px;
+}
+
+#messagestack div a {
+	color: #94c0da;
+}
+
+#messagestack div a:hover {
+	text-decoration: underline;
+	cursor: pointer;
 }
 
 .ui-dialog.error .ui-dialog-title,
@@ -492,7 +740,7 @@
 	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%);
+	background: linear-gradient(to bottom, #e3e3e3 0%, #cfcfcf 100%);
 }
 
 .ui-dialog.popupmessage .ui-widget-content {
@@ -502,7 +750,7 @@
 	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%);
+	background: linear-gradient(to bottom, #eee 0%, #dcdcdc 100%);
 }
 
 
@@ -531,7 +779,7 @@
 	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%);
+	background: linear-gradient(to bottom, #404040 0%, #060606 100%);
 }
 
 #topline a,
@@ -547,6 +795,7 @@
 #toplogo {
 	padding-top: 2px;
 	cursor: pointer;
+	border: none;
 }
 
 .topleft {
@@ -608,7 +857,6 @@
 .minimal #topline:hover {
 	top: 0px;
 	opacity: 0.94;
-	filter: alpha(opacity=94);
 	-webkit-transition: top 0.3s ease-in-out;
 	-moz-transition: top 0.3s ease-in-out;
 	-o-transition: top 0.3s ease-in-out;
@@ -624,17 +872,6 @@
 	-moz-box-sizing: content-box;
 	box-sizing: content-box;
 	opacity: 0.999;
-}
-
-.partwin #topline {
-	position: absolute;
-	right: 6px;
-	top: 18px;
-	width: auto;
-	z-index: 100;
-	background: transparent;
-	background: none;
-	border: 0;
 }
 
 .minimal #topline a.button-logout {
@@ -685,15 +922,13 @@
 	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#444), color-stop(100%,#333));
 	background: -o-linear-gradient(top, #444 0%, #333 100%);
 	background: -ms-linear-gradient(top, #444 0%, #333 100%);
-	background: linear-gradient(top, #444 0%, #333 100%);
+	background: linear-gradient(to bottom, #444 0%, #333 100%);
 	color: #eee;
 	font-weight: bold;
 	white-space: nowrap;
 	border: 1px solid #777;
 	box-shadow: 0 1px 5px 0 #333;
-	-moz-box-shadow: 0 1px 5px 0 #333;
 	-webkit-box-shadow: 0 1px 5px 0 #333;
-	-o-box-shadow: 0 1px 5px 0 #333;
 	z-index: 200;
 	white-space: nowrap;
 	text-shadow: 0px 1px 1px #000;
@@ -708,13 +943,9 @@
 	border-width: 0 4px 4px;
 	border-color: #888 transparent;
 	/* reduce the damage in FF3.0 */
-	display: block; 
+	display: block;
 	width: 0;
 	z-index: 251;
-}
-
-.ie8 .minimal #taskbar .tooltip:after {
-	top: -6px;
 }
 
 .minimal #taskbar a:hover .tooltip {
@@ -744,6 +975,13 @@
 	padding: 5px 0 0 34px;
 	height: 19px;
 	background: url(images/buttons.png) -1000px 0 no-repeat;
+}
+
+#taskbar a:focus {
+	color: #fff;
+	text-shadow: 0px 1px 1px #666;
+	background-color: rgba(73,180,210,0.7);
+	outline: none;
 }
 
 #taskbar a.button-selected {
@@ -811,6 +1049,22 @@
 	bottom: 20px;
 }
 
+#mainscreencontent {
+	position: absolute;
+	top: 42px;
+	left: 0;
+	right: 0;
+	bottom: 0;
+}
+
+#mainscreen.offset {
+	top: 132px;
+}
+
+#mainscreen .offset {
+	top: 42px;
+}
+
 .minimal #mainscreen {
 	top: 62px;
 }
@@ -819,20 +1073,12 @@
 	top: 102px;
 }
 
-.partwin #mainscreen {
-	top: 60px
-}
-
 .extwin #mainscreen {
 	top: 40px;
 }
 
-#mainscreen.offset {
-	top: 132px;
-}
-
-#mainscreen .offset {
-	margin-top: 42px;
+.extwin #mainscreen.offset {
+	top: 86px;
 }
 
 .uibox {
@@ -840,18 +1086,11 @@
 	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: 1024px;
 }
 
@@ -859,23 +1098,20 @@
 	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;
 }
+
+/* fix scrolling within iframes in webkit browsers on touch devices */
+@media screen and (-webkit-min-device-pixel-ratio:0) and (max-device-width:1024px) {
+	.iframebox {
+		overflow: auto;
+		-webkit-overflow-scrolling: touch;
+	}
+}
+
 
 /*** lists ***/
 
@@ -903,23 +1139,26 @@
 }
 
 .boxtitle,
+.uibox .listing thead th,
 .uibox .listing thead td {
 	font-size: 12px;
 	font-weight: bold;
-	padding: 10px 8px 3px 8px;
-	height: 20px;  /* doesn't affect table-cells in FF */
+	padding: 7px 8px 6px 8px;
+	line-height: 20px;
 	margin: 0;
 	text-shadow: 0px 1px 1px #fff;
 	border-bottom: 1px solid #bbd3da;
 	white-space: nowrap;
 }
 
+.uibox .listing thead th,
 .uibox .listing thead td {
 	padding-bottom: 8px;
 	height: auto;
 }
 
 .uibox .boxtitle,
+.uibox .listing thead th,
 .uibox .listing thead td {
 	background: #b0ccd7;
 	color: #004458;
@@ -938,6 +1177,7 @@
 }
 
 .listbox .listitem a,
+.listbox .listitem span,
 .listbox .tablink a,
 .listing tbody td,
 .listing li a {
@@ -946,27 +1186,49 @@
 	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 */
+	padding: 4px 8px;
+	line-height: 17px;
+	height: 17px;
 	white-space: nowrap;
 }
 
 .listing tbody td {
 	display: table-cell;
-	padding-bottom: 5px;
-	height: auto;
 	min-height: 14px;
+	outline: none;
+}
+
+.listing tbody td a {
+	color: #376572;
+	text-shadow: 0px 1px 1px #fff;
+	text-decoration: none;
 }
 
 .webkit .listing tbody td {
 	height: 14px;
 }
 
+/* This padding-left minus the focused padding left should be half of the focused border-left */
+.listing thead tr td:first-child,
+.listing tbody tr td:first-child {
+	border-left: 2px solid transparent;
+	padding-left: 6px;
+}
+
+.listing.iconized thead tr td:first-child,
+.listing.iconized tbody tr td:first-child {
+	padding-left: 34px;
+}
+
+/* because of border-collapse, we make the left border twice what we want it to be - half will be hidden to the left */
+.listing.focus tbody tr.focused > td:first-child {
+	border-left: 2px solid #739da8;
+}
+
 .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 {
@@ -984,6 +1246,9 @@
 
 ul.listing li {
 	background-color: #d9ecf4;
+	overflow: hidden;
+	text-overflow: ellipsis;
+	white-space: nowrap;
 }
 
 ul.listing li ul {
@@ -1014,14 +1279,81 @@
 	position: relative;
 }
 
+ul.treelist li ul {
+	margin: 0;
+	padding: 0;
+}
+
+ul.treelist li ul li:last-child {
+	border-bottom: 0;
+}
+
+ul.treelist li a {
+	display: block;
+	padding-left: 20px;
+	overflow: hidden;
+	text-overflow: ellipsis;
+}
+
+ul.treelist li a:focus,
+ul.listing .listitem a:focus,
+ul.listing .listitem span:focus,
+ul.listing.focus .listitem.focused span {
+	color: #fff !important;
+	background-color: rgba(73,180,210,0.6);
+	text-shadow: 0px 1px 1px #666;
+	outline: none;
+}
+
+ul.treelist ul li a {
+	padding-left: 38px;
+}
+
+ul.treelist ul ul li a {
+	padding-left: 54px;
+}
+
+ul.treelist.iconized li a {
+	padding-left: 36px;
+}
+
+ul.treelist.iconized ul li a {
+	padding-left: 62px;
+}
+
+ul.treelist.iconized ul ul li a {
+	padding-left: 88px;
+}
+
+ul.treelist.iconized ul ul ul li a {
+	padding-left: 114px;
+}
+
 ul.treelist li div.treetoggle {
 	position: absolute;
-	top: 13px;
-	left: 19px;
+	top: 7px;
+	left: 4px;
 	width: 13px;
 	height: 13px;
 	background: url(images/listicons.png) -3px -144px no-repeat;
 	cursor: pointer;
+}
+
+ul.treelist li ul li div.treetoggle {
+	left: 22px;
+}
+
+ul.treelist.iconized li div.treetoggle {
+	top: 13px;
+	left: 19px;
+}
+
+ul.treelist.iconized ul li div.treetoggle {
+	left: 45px;
+}
+
+ul.treelist.iconized ul ul li div.treetoggle {
+	left: 71px;
 }
 
 ul.treelist li div.treetoggle.expanded {
@@ -1044,9 +1376,8 @@
 	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;
+	-webkit-box-shadow: inset 0 1px 0 0 #fff;
 	white-space: nowrap;
 	overflow: hidden;
 }
@@ -1065,6 +1396,13 @@
 	margin-top: 1px;
 }
 
+.boxfooter a.listbutton:focus {
+	color: #fff;
+	background-color: rgba(73,180,210,0.6);
+	text-shadow: 0px 1px 1px #666;
+	outline: none;
+}
+
 .uibox .boxfooter .listbutton:first-child {
 	border-radius: 0 0 0 4px;
 }
@@ -1074,7 +1412,9 @@
 	width: 48px;
 	height: 35px;
 	text-indent: -5000px;
-	background: url(images/buttons.png) -1000px 0 no-repeat;
+	background-image: url(images/buttons.png);
+	background-position: -1000px 0;
+	background-repeat: no-repeat;
 }
 
 .boxfooter .listbutton.add .inner {
@@ -1112,7 +1452,6 @@
 
 .boxfooter .listbutton.disabled .inner {
 	opacity: 0.4;
-	filter: alpha(opacity=40);
 }
 
 .boxfooter .countdisplay {
@@ -1155,7 +1494,6 @@
 
 .boxpagenav a.icon.disabled {
 	opacity: 0.4;
-	filter: alpha(opacity=40);
 }
 
 .centerbox {
@@ -1180,7 +1518,6 @@
 	display: table;
 	width: 100%;
 	table-layout: fixed;
-	border-collapse: collapse;
 	border-spacing: 0;
 	border: 1px solid #bbd3da;
 }
@@ -1189,6 +1526,7 @@
 	border: 0;
 }
 
+.records-table thead th,
 .records-table thead td {
 	color: #69939e;
 	font-size: 11px;
@@ -1203,13 +1541,17 @@
 	padding: 8px 7px;
 	overflow: hidden;
 	text-overflow: ellipsis;
+	text-align: left;
 }
 
+.records-table.sortheader thead th,
 .records-table.sortheader thead td {
 	padding: 0;
 }
 
+.records-table thead th a,
 .records-table thead td a,
+.records-table thead th span,
 .records-table thead td span {
 	display: block;
 	padding: 7px 7px;
@@ -1217,6 +1559,14 @@
 	text-decoration: none;
 	overflow: hidden;
 	text-overflow: ellipsis;
+}
+
+.records-table thead th a:focus,
+.records-table thead td a:focus {
+	color: #fff;
+	background-color: rgba(73,180,210,0.7);
+	text-shadow: 0px 1px 1px #666;
+	outline: none;
 }
 
 .records-table tbody td {
@@ -1228,21 +1578,34 @@
 	overflow: hidden;
 	text-overflow: ellipsis;
 	background-color: #fff;
+	outline: none;
 }
 
+/* This padding-left minus the focused padding left should be half of the focused border-left */
+.records-table thead tr th:first-child,
 .records-table thead tr td:first-child,
 .records-table tbody tr td:first-child {
-	border-left: 0;
+	border-left: 2px solid transparent;
+	padding-left: 4px;
+}
+
+/* because of border-collapse, we make the left border twice what we want it to be - half will be hidden to the left */
+.records-table.focus tbody tr.focused > td:first-child {
+	border-left: 2px solid #49b3d2;
 }
 
 .records-table tr.selected td {
 	color: #fff !important;
+	background-color: #4db0d2 !important;
+}
+
+.records-table.focus tr.selected td {
 	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%);
+	background: linear-gradient(to bottom, #019bc6 0%, #017cb4 100%);
 }
 
 .records-table tr.selected td a,
@@ -1250,21 +1613,10 @@
 	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 ***/
 
@@ -1278,6 +1630,10 @@
 body.iframe {
 	background: #fff;
 	margin: 38px 0 10px 0;
+}
+
+body.iframe.error {
+	background: #ededed;
 }
 
 body.iframe.floatingbuttons {
@@ -1296,7 +1652,7 @@
 	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%);
+	background: linear-gradient(to bottom, #eee 0%, #dfdfdf 100%);
 	border-bottom: 1px solid #ccc;
 }
 
@@ -1335,12 +1691,21 @@
 	padding: 10px;
 }
 
+.boxcontent .boxwarning {
+	margin: 0 0 10px;
+	display: block;
+	color: #960;
+	border: 1px solid #ffdf0e;
+	background: url(images/messages.png) #fef893 5px -85px no-repeat;
+	padding: 6px 12px 6px 30px;
+}
+
 .contentbox .scroller {
 	position: absolute;
 	top: 34px;
 	left: 0;
 	right: 0;
-	bottom: 28px;
+	bottom: 0px;
 	overflow: auto;
 }
 
@@ -1349,7 +1714,7 @@
 	top: 0;
 	left: 0;
 	right: 0;
-	bottom: 28px;
+	bottom: 0px;
 }
 
 .footerleft {
@@ -1373,6 +1738,26 @@
 .propform fieldset fieldset legend {
 	color: #666;
 	font-size: 12px;
+}
+
+.propform div.prop {
+	margin-bottom: 0.5em;
+}
+
+.propform div.prop.block label {
+	display: block;
+	margin-bottom: 0.3em;
+}
+
+.propform div.prop.block input,
+.propform div.prop.block textarea {
+	width: 95%;
+}
+
+.propform a.disabled {
+	color: #999;
+	text-decoration: none;
+	cursor: default;
 }
 
 fieldset.floating {
@@ -1442,9 +1827,7 @@
 	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 {
@@ -1481,19 +1864,15 @@
 	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%);
+	background: linear-gradient(to bottom, #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 {
@@ -1502,7 +1881,7 @@
 	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%);
+	background: linear-gradient(to bottom, #dcdcdc 0%, #f9f9f9 100%);
 }
 
 #login-form form table {
@@ -1525,17 +1904,20 @@
 
 #login-form #logo {
 	margin-bottom: 20px;
+	border: none;
 }
 
 #login-form #message {
 	min-height: 40px;
 	padding: 5px 25px;
 	text-align: center;
+	font-size: 1.1em;
 }
 
 #login-form #message div {
 	display: inline-block;
 	padding-right: 0;
+	font-size: 12px;
 }
 
 #bottomline {
@@ -1554,7 +1936,7 @@
 
 #quicksearchbar {
 	position: absolute;
-	right: 1px;
+	right: 2px;
 	top: 2px;
 	width: 240px;
 }
@@ -1571,6 +1953,7 @@
 	font-size: 11px;
 }
 
+.searchbox .searchicon,
 .searchbox #searchmenulink,
 #quicksearchbar #searchmenulink {
 	position: absolute;
@@ -1579,12 +1962,25 @@
 }
 
 .searchbox #searchreset,
+.searchbox .iconbutton.reset,
 #quicksearchbar #searchreset {
 	position: absolute;
 	top: 4px;
 	right: 1px;
 }
 
+.listsearchbox {
+	padding: 4px;
+	background: #c7e3ef;
+	display: none;
+}
+
+.listsearchbox input {
+	width: 100%;
+	height: 26px;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+}
 
 /*** toolbar ***/
 
@@ -1600,7 +1996,7 @@
 	font-size: 10px;
 	color: #555;
 	min-width: 50px;
-	max-width: 75px;
+	max-width: 70px;
 	height: 13px;
 	overflow: hidden;
 	text-overflow: ellipsis;
@@ -1608,16 +2004,34 @@
 	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;
+	border-radius: 0;
+}
+
+.dropbutton .dropbuttontip:focus,
+.toolbar a.button:focus {
+	color: #fff;
+	text-shadow: 0px 1px 1px #666;
+	background-color: rgba(30,150,192, 0.5);
+	border-radius: 3px;
 }
 
 .toolbar a.button.disabled {
 	opacity: 0.4;
-	filter: alpha(opacity=40);
+}
+
+.toolbar a.button.selected {
+	color: #1978a1;
+}
+
+.toolbar a.button.selected:focus {
+	color: #fff;
+}
+
+.toolbar a.button.hidden {
+	display: none;
 }
 
 .dropbutton {
@@ -1630,19 +2044,22 @@
 	position: absolute;
 	right: 0;
 	top: 0;
-	height: 42px;
+	height: 41px;
 	width: 18px;
+	overflow: hidden;
+	text-indent: -5000px;
 	background: url(images/buttons.png) 0 -1255px no-repeat;
 	cursor: pointer;
+	outline: none;
 }
 
+.dropbutton .dropbuttontip:focus,
 .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 {
@@ -1674,12 +2091,12 @@
 
 .toolbar a.button.reply-all {
 	min-width: 64px;
-	background-position: left -610px;
+	background-position: 0 -610px;
 }
 
 .toolbar a.button.forward {
 	min-width: 64px;
-	background-position: left -650px;
+	background-position: 0 -650px;
 }
 
 .toolbar a.button.delete {
@@ -1702,6 +2119,10 @@
 	background-position: center -1094px;
 }
 
+.toolbar a.button.move {
+	background-position: center -1971px;
+}
+
 .toolbar a.button.more {
 	background-position: center -850px;
 }
@@ -1712,11 +2133,11 @@
 
 .toolbar a.button.spellcheck {
 	min-width: 64px;
-	background-position: left -930px;
+	background-position: 0 -930px;
 }
 
 .toolbar a.button.spellcheck.selected {
-	background-position: left -1620px;
+	background-position: 0 -1620px;
 	color: #1978a1;
 }
 
@@ -1733,8 +2154,8 @@
 }
 
 .toolbar a.button.export {
-	min-width: 74px;
-	background-position: center -1054px;
+	min-width: 64px;
+	background-position: 0 -1054px;
 }
 
 .toolbar a.button.send {
@@ -1749,6 +2170,22 @@
 	background-position: 0 -1745px;
 }
 
+.toolbar a.button.download {
+	background-position: center -1892px;
+}
+
+.toolbar a.button.responses {
+	background-position: center -1932px;
+}
+
+.toolbar a.button.encrypt {
+	background-position: center -2025px;
+}
+
+.toolbar a.button.encrypt.selected {
+	background-position: center -2068px;
+}
+
 a.menuselector {
 	display: inline-block;
 	border: 1px solid #ababab;
@@ -1758,7 +2195,7 @@
 	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%);
+	background: linear-gradient(to bottom, #f8f8f8 0%, #dddddd 100%);
 	text-decoration: none;
 	color: #333;
 	cursor: pointer;
@@ -1781,7 +2218,7 @@
 	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%);
+	background: linear-gradient(to bottom, #dddddd 0%, #f8f8f8 100%);
 	text-decoration: none;
 }
 
@@ -1791,9 +2228,9 @@
 	opacity: 0;
 	height: 22px;
 	cursor: pointer;
-	filter: alpha(opacity=0);
 	-khtml-appearance: none;
 	-webkit-appearance: none;
+	border: 0;
 }
 
 html.opera select.decorated {
@@ -1809,6 +2246,18 @@
 	text-shadow: 0px 1px 1px #333;
 	padding: 4px 6px;
 	outline: none;
+	cursor: default;
+}
+
+
+a.menuselector:focus,
+a.menuselector.focus,
+a.iconbutton:focus,
+.pagenav a.button:focus {
+	border-color: #4fadd5;
+	box-shadow: 0 0 4px 2px rgba(71,135,177, 0.8);
+	-webkit-box-shadow: 0 0 4px 2px rgba(71,135,177, 0.8);
+	outline: none;
 }
 
 
@@ -1816,12 +2265,41 @@
 
 #quotadisplay {
 	left: 6px;
+	height: 18px;
 	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;
+}
+
+#quotadisplay.p90,
+#quotadisplay.p100 {
+    color: #e03221;
+}
+
+table.quota-info {
+	border-spacing: 0;
+	border-collapse: collapse;
+	table-layout: fixed;
+	margin: 5px;
+}
+
+table.quota-info td,
+table.quota-info th {
+	color: white;
+	border: 1px solid lightgrey;
+	padding: 2px 3px;
+	text-align: center;
+	min-width: 80px;
+}
+
+table.quota-info td.name {
+	text-align: left;
+}
+
+table.quota-info td.root {
+	font-style: italic;
 }
 
 /*** popup menus ***/
@@ -1833,14 +2311,15 @@
 	top: 32px;
 	left: 90px;
 	width: auto;
+	max-height: 70%;
+	overflow: -moz-scrollbars-vertical;
+	overflow-y: 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 {
@@ -1849,6 +2328,7 @@
 }
 
 ul.toolbarmenu,
+ul.toolbarmenu ul,
 #rcmKSearchpane ul {
 	margin: 0;
 	padding: 0;
@@ -1867,13 +2347,13 @@
 }
 
 .googie_list tr:first-child td,
-ul.toolbarmenu li:first-child,
+ul.toolbarmenu > li:first-child,
 select.decorated option:first-child {
 	border-top: 0;
 }
 
 .googie_list tr:last-child td,
-ul.toolbarmenu li:last-child,
+ul.toolbarmenu > li:last-child,
 select.decorated option:last-child {
 	border-bottom: 0;
 }
@@ -1885,7 +2365,7 @@
 	text-shadow: 0px 1px 1px #333;
 	text-decoration: none;
 	min-height: 14px;
-	padding: 6px 10px 6px 10px;
+	padding: 6px 16px 6px 10px;
 }
 
 .googie_list td span {
@@ -1900,7 +2380,9 @@
 
 .googie_list td.googie_list_onhover,
 ul.toolbarmenu li a.active:hover,
+ul.toolbarmenu li a.active:focus,
 #rcmKSearchpane ul li.selected,
+#pagejump-selector ul li.selected,
 select.decorated option:hover,
 select.decorated option[selected='selected'] {
 	background-color: #00aad6;
@@ -1908,7 +2390,8 @@
 	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%);
+	background: linear-gradient(to bottom, #00aad6 0%, #008fc9 100%);
+	outline: none;
 }
 
 ul.toolbarmenu.iconized li a,
@@ -1927,12 +2410,24 @@
 	text-shadow: 0px 1px 1px #333;
 }
 
+ul.toolbarmenu li.separator label {
+	color: #bbb;
+	font-style: italic;
+	padding: 0 8px;
+	line-height: 17px;
+}
+
+ul.toolbarmenu li input {
+	margin: 0;
+}
+
 ul.toolbarmenu li a.icon {
 	color: #eee;
 	padding: 2px 6px;
 }
 
-ul.toolbarmenu li span.icon {
+ul.toolbarmenu li span.icon,
+#rcmKSearchpane ul li i.icon {
 	display: block;
 	min-height: 14px;
 	padding: 4px 4px 1px 24px;
@@ -1941,12 +2436,10 @@
 	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 {
@@ -2005,6 +2498,34 @@
 	background-position: 0 -1532px;
 }
 
+ul.toolbarmenu li span.move {
+	background-position: 0 -2126px;
+}
+
+ul.toolbarmenu li span.copy {
+	background-position: 0 -2150px;
+}
+
+#pagejump-selector {
+	max-height: 250px;
+	overflow-x: hidden;
+}
+
+#pagejump-selector ul li {
+	min-width: 45px;
+	padding: 2px 5px;
+	cursor: default;
+}
+
+#snippetslist {
+	max-width: 200px;
+}
+
+#snippetslist li a {
+	overflow: hidden;
+	text-overflow: ellipsis;
+}
+
 #rcmKSearchpane {
 	border-radius: 0 0 4px 4px;
 	border-top: 0;
@@ -2014,9 +2535,25 @@
 	text-shadow: 0px 1px 1px #333;
 	text-decoration: none;
 	min-height: 14px;
-	padding: 6px 10px 6px 10px;
+	padding: 6px 10px 6px 28px;
 	border: 0;
 	cursor: default;
+	position: relative;
+}
+
+#rcmKSearchpane ul li i.icon {
+	opacity: 0.99;
+	position: absolute;
+	top: 4px;
+	left: 5px;
+	width: 18px;
+	height: 18px;
+	padding: 0;
+	background-position: -1px -2223px;
+}
+
+#rcmKSearchpane ul li.group i.icon {
+	background-position: -1px -2247px;
 }
 
 .popupdialog {
@@ -2072,14 +2609,11 @@
 	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;
 }
 
@@ -2108,6 +2642,264 @@
 	z-index: 255;
 }
 
+.popup label > input {
+	margin-left: 10px;
+}
+
+/*** folder selector ***/
+
+#folder-selector {
+	z-index: 1000;
+}
+
+#folder-selector li a span {
+	background: url("images/listicons.png") 4px -2021px no-repeat;
+	display: block;
+	height: 17px;
+	min-height: 14px;
+	padding: 4px 4px 1px 28px;
+	overflow: hidden;
+	max-width: 120px;
+	text-overflow: ellipsis;
+}
+
+#folder-selector li a.virtual {
+	opacity: .2;
+}
+
+#folder-selector li a.inbox span {
+	background-position: 4px -2049px;
+}
+#folder-selector li a.drafts span {
+	background-position: 4px -1388px;
+}
+#folder-selector li a.sent span {
+	background-position: 4px -2074px;
+}
+#folder-selector li a.trash span {
+	background-position: 4px -1508px;
+}
+#folder-selector li a.junk span {
+	background-position: 4px -2100px;
+}
+
+/*** folders list ***/
+
+.folderlist li.mailbox a {
+	padding-left: 36px;
+	white-space: nowrap;
+	overflow: hidden;
+	text-overflow: ellipsis;
+	background-image: url(images/listicons.png);
+	background-repeat: no-repeat;
+	background-position: 6px 3px;
+}
+
+.folderlist li.mailbox.unread > a {
+	padding-right: 36px;
+}
+
+.folderlist li.mailbox > a:focus,
+.folderlist li.mailbox.selected > a {
+	background-position: 6px -21px;
+}
+
+.folderlist li.mailbox.inbox > a {
+	background-position: 6px -189px;
+}
+
+.folderlist li.mailbox.inbox > a:focus,
+.folderlist li.mailbox.inbox.selected > a {
+	background-position: 6px -213px;
+}
+
+.folderlist li.mailbox.drafts > a {
+	background-position: 6px -238px;
+}
+
+.folderlist li.mailbox.drafts > a:focus,
+.folderlist li.mailbox.drafts.selected > a {
+	background-position: 6px -262px;
+}
+
+.folderlist li.mailbox.sent > a {
+	background-position: 6px -286px;
+}
+
+.folderlist li.mailbox.sent > a:focus,
+.folderlist li.mailbox.sent.selected > a {
+	background-position: 6px -310px;
+}
+
+.folderlist li.mailbox.junk > a {
+	background-position: 6px -334px;
+}
+
+.folderlist li.mailbox.junk > a:focus,
+.folderlist li.mailbox.junk.selected > a {
+	background-position: 6px -358px;
+}
+
+.folderlist li.mailbox.trash > a {
+	background-position: 6px -382px;
+}
+
+.folderlist li.mailbox.trash > a:focus,
+.folderlist li.mailbox.trash.selected > a {
+	background-position: 6px -406px;
+}
+
+.folderlist li.mailbox.trash.empty > a {
+	background-position: 6px -1924px;
+}
+
+.folderlist li.mailbox.trash.empty > a:focus,
+.folderlist li.mailbox.trash.empty.selected > a {
+	background-position: 6px -1948px;
+}
+
+.folderlist li.mailbox.archive > a {
+	background-position: 6px -1699px;
+}
+
+.folderlist li.mailbox.archive > a:focus,
+.folderlist li.mailbox.archive.selected > a {
+	background-position: 6px -1723px;
+}
+
+.folderlist li.mailbox ul li.drafts > a {
+	background-position: 23px -238px;
+}
+
+.folderlist li.mailbox ul li.drafts > a:focus,
+.folderlist li.mailbox ul li.drafts.selected > a {
+	background-position: 23px -262px;
+}
+
+.folderlist li.mailbox ul li.sent > a {
+	background-position: 23px -286px;
+}
+
+.folderlist li.mailbox ul li.sent > a:focus,
+.folderlist li.mailbox ul li.sent.selected > a {
+	background-position: 23px -310px;
+}
+
+.folderlist li.mailbox ul li.junk > a {
+	background-position: 23px -334px;
+}
+
+.folderlist li.mailbox ul li.junk > a:focus,
+.folderlist li.mailbox ul li.junk.selected > a {
+	background-position: 23px -358px;
+}
+
+.folderlist li.mailbox ul li.trash > a {
+	background-position: 23px -382px;
+}
+
+.folderlist li.mailbox ul li.trash > a:focus,
+.folderlist li.mailbox ul li.trash.selected > a {
+	background-position: 23px -406px;
+}
+
+.folderlist li.mailbox ul li.trash.empty > a {
+	background-position: 23px -1924px;
+}
+
+.folderlist li.mailbox ul li.trash.empty > a:focus,
+.folderlist li.mailbox ul li.trash.empty.selected > a {
+	background-position: 23px -1948px;
+}
+
+.folderlist li.mailbox ul li.archive > a {
+	background-position: 23px -1699px;
+}
+
+.folderlist li.mailbox ul li.archive > a:focus,
+.folderlist li.mailbox ul li.archive.selected > a {
+	background-position: 23px -1723px;
+}
+
+.folderlist li.virtual > a {
+	color: #aaa;
+}
+
+.folderlist li.mailbox div.treetoggle {
+	top: 13px;
+	left: 19px;
+}
+
+.folderlist li.mailbox ul li:last-child {
+	border-bottom: 0;
+}
+
+/* nested mailboxes */
+
+.folderlist li.mailbox ul {
+	list-style: none;
+	margin: 0;
+	padding: 0;
+	border-top: 1px solid #bbd3da;
+}
+
+.folderlist li.mailbox ul li a {
+	padding-left: 52px;  /* 36 + 1 x 16 */
+	background-position: 22px -95px;  /* 6 + 1 x 16 */
+}
+.folderlist li.mailbox ul li > a:focus,
+.folderlist li.mailbox ul li.selected > a {
+	background-position: 22px -119px;
+}
+.folderlist li.mailbox ul li div.treetoggle {
+	left: 33px;
+	top: 14px;
+}
+
+.folderlist li.mailbox ul ul li.mailbox a {
+	padding-left: 68px;  /* 2x */
+	background-position: 38px -95px;
+}
+.folderlist li.mailbox ul ul li > a:focus,
+.folderlist li.mailbox ul ul li.selected > a {
+	background-position: 38px -119px;
+}
+.folderlist li.mailbox ul ul li div.treetoggle {
+	left: 48px;
+}
+
+.folderlist li.mailbox ul ul ul li.mailbox a {
+	padding-left: 84px;  /* 3x */
+	background-position: 54px -95px;
+}
+.folderlist li.mailbox ul ul ul li > a:focus,
+.folderlist li.mailbox ul ul ul li.selected > a {
+	background-position: 54px -119px;
+}
+.folderlist li.mailbox ul ul ul li div.treetoggle {
+	left: 64px;
+}
+
+.folderlist li.mailbox ul ul ul ul li.mailbox a {
+	padding-left: 100px;  /* 4x */
+	background-position: 70px -95px;
+}
+.folderlist li.mailbox ul ul ul ul li > a:focus,
+.folderlist li.mailbox ul ul ul ul li.selected > a {
+	background-position: 70px -119px;
+}
+.folderlist li.mailbox ul ul ul ul li div.treetoggle {
+	left: 80px;
+}
+
+/* indent folders on levels > 4 */
+.folderlist li.mailbox ul ul ul ul ul li {
+	padding-left: 16px;
+}
+.folderlist li.mailbox ul ul ul ul ul li div.treetoggle {
+	left: 96px;
+}
+
 
 /*** attachment list ***/
 
@@ -2124,6 +2916,11 @@
 	position: relative;
 	background: url(images/filetypes.png) 0 0 no-repeat;
 	margin-bottom: 1px;
+}
+
+.attachmentslist li.txt,
+.attachmentslist li.text {
+	background-position: 0 -416px;
 }
 
 .attachmentslist li.pdf {
@@ -2185,11 +2982,6 @@
 	background-position: 0 -338px;
 }
 
-.attachmentslist li.txt,
-.attachmentslist li.text {
-	background-position: 0 -416px;
-}
-
 .attachmentslist li.ics,
 .attachmentslist li.calendar {
 	background-position: 0 -364px;
@@ -2214,17 +3006,51 @@
 	background-position: 0 -494px;
 }
 
+.attachmentslist li.ppt,
+.attachmentslist li.pptx,
+.attachmentslist li.ppsx,
+.attachmentslist li.vnd.mspowerpoint {
+	background-position: 0 -520px;
+}
+
+.attachmentslist li.odp,
+.attachmentslist li.otp {
+	background-position: 0 -546px;
+}
+
 .attachmentslist li a,
 #compose-attachments ul li {
 	display: block;
 	color: #333;
 	font-weight: bold;
-	padding: 8px 4px 3px 30px;
+	padding: 3px 15px 3px 30px;
 	text-shadow: 0px 1px 1px #fff;
 	text-decoration: none;
 	white-space: nowrap;
 	overflow: hidden;
 	text-overflow: ellipsis;
+	line-height: 20px;
+	outline: none;
+}
+
+.attachmentslist li a.drop {
+	background: url(images/buttons.png) no-repeat scroll center -1570px;
+	width: 14px;
+	height: 20px;
+	cursor: pointer;
+	position: absolute;
+	right: 0;
+	top: 0;
+	padding: 0;
+	overflow: hidden;
+	text-indent: -5000px;
+	outline: none;
+}
+
+.attachmentslist li a:focus,
+.attachmentslist li a.drop:focus {
+	background-color: rgba(30,150,192, 0.5);
+	border-radius: 2px;
 }
 
 #compose-attachments ul li {
@@ -2242,43 +3068,44 @@
 .attachmentslist li a.delete,
 .attachmentslist li a.cancelupload {
 	position: absolute;
-	top: 6px;
+	top: 4px;
 	right: 0;
-	width: 24px;
+	width: 20px;
 	height: 18px;
 	padding: 0;
 	text-decoration: none;
 	text-indent: -5000px;
-	background: url(images/buttons.png) -7px -337px no-repeat;
+	background-image: url(images/buttons.png);
+	background-position: -6px -338px;
+	background-repeat: no-repeat;
 }
 
 .attachmentslist li a.cancelupload {
-	background-position: -7px -377px;
+	background-position: -6px -378px;
 }
-
 
 /*** fieldset tabs ***/
 
-.tabsbar {
-	margin-bottom: 12px;
-	padding-top: 15px;
-	height: 27px;
-	white-space: nowrap;
+.tabbed.ui-tabs {
+	padding: 0;
+	border: 0 !important;
+	background: none;
 }
 
-.ui-dialog-content .tabsbar {
+.ui-dialog .tabbed.ui-tabs {
+	margin: -12px -8px 0 -8px;
+}
+
+.boxcontent.tabbed.ui-tabs {
+	padding: 10px;
+}
+
+.ui-tabs .tabsbar.ui-tabs-nav {
+	margin-bottom: 10px;
+}
+
+.ui-dialog-content .ui-tabs .tabsbar.ui-tabs-nav {
 	margin-bottom: 0;
-}
-
-.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 {
@@ -2289,28 +3116,47 @@
 	border-right: 0;
 }
 
-.tabsbar .tablink a {
-	padding: 15px;
-	color: #999;
-	font-size: 12px;
-	font-weight: bold;
-	text-decoration: none;
+.ui-tabs .ui-tabs-nav li.tablink a {
 	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 {
+.ui-tabs fieldset.ui-tabs-panel {
 	border: 0;
 	padding: 0;
 	margin-left: 0;
+	background: none;
+}
+
+.ui-dialog .propform .ui-tabs-panel {
+	display: block;
+	background: #efefef;
+	padding: 0.5em 1em;
+}
+
+#image-selector-form.droptarget {
+	background: url(images/filedrop.png) center bottom no-repeat;
+}
+
+/** Common TinyMCE fixes **/
+.mce-btn-small .mce-ico {
+	display: inline; /* for old Firefox */
+}
+
+.mce-btn-small i {
+	line-height: 16px !important;
+	vertical-align: text-top !important;
+}
+
+_:not(), _:-moz-handler-blocked, .mozilla .mce-btn-small i {
+	line-height: 20px !important;
+}
+
+.mce-textbox {
+	border-radius: 0;
+	box-shadow: none;
+}
+
+.mce-textbox:focus {
+	box-shadow: none;
+	outline: none;
 }

--
Gitblit v1.9.1