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 | 1599 ++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 1,411 insertions(+), 188 deletions(-) diff --git a/skins/larry/styles.css b/skins/larry/styles.css index 21d269d..1321564 100644 --- a/skins/larry/styles.css +++ b/skins/larry/styles.css @@ -1,15 +1,13 @@ /** * 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 * License. It is allowed to copy, distribute, transmit and to adapt the work * by keeping credits to the original autors in the README file. * See http://creativecommons.org/licenses/by-sa/3.0/ for details. - * - * $Id$ */ body { @@ -25,6 +23,11 @@ overflow: hidden; } +.iphone body.noscroll { + /* revert on iPhone (#1490551) */ + overflow: auto; +} + a { color: #0069a6; } @@ -37,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 { @@ -45,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, @@ -56,9 +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, @@ -68,6 +97,11 @@ .bold { font-weight: bold; +} + +/* fixes vertical alignment of checkboxes and labels */ +label input + span { + vertical-align: middle; } /*** buttons ***/ @@ -85,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; } @@ -106,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, @@ -120,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 { @@ -131,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 { @@ -143,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 { @@ -157,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], @@ -172,7 +198,8 @@ /** link buttons **/ -a.button { +a.button, +.buttongroup { display: inline-block; margin: 0 2px; padding: 2px 5px; @@ -185,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; } @@ -216,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, @@ -234,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 { @@ -245,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 { @@ -258,15 +302,47 @@ 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 { padding: 1px 3px; height: 16px; vertical-align: middle; + 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; @@ -276,45 +352,80 @@ 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 { display: inline-block; - padding:0 1em; + padding: 3px 1em 0 1em; text-shadow: 0px 1px 1px #fff; min-width: 16em; } @@ -324,32 +435,72 @@ 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: -1000px; + 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.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; @@ -392,6 +543,7 @@ /*** message bar ***/ #message div.loading, +#message div.uploading, #message div.warning, #message div.error, #message div.notice, @@ -425,7 +577,19 @@ 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 { + display: none; position: absolute; bottom: 0; left: 0; @@ -439,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, @@ -475,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 { @@ -485,11 +750,15 @@ 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%); } /*** basic page layout ***/ + +#header { + overflow-x: hidden; /* Chrome bug #1488851 */ +} #topline { height: 18px; @@ -497,9 +766,11 @@ border-bottom: 1px solid #4f4f4f; padding: 2px 0 2px 10px; color: #aaa; + text-align: center; } #topnav { + position: relative; height: 46px; margin-bottom: 10px; padding: 0 0 0 10px; @@ -508,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, @@ -523,6 +794,8 @@ #toplogo { padding-top: 2px; + cursor: pointer; + border: none; } .topleft { @@ -555,8 +828,138 @@ color: #fff; } +#taskbar .button-logout { + display: none; +} + +#taskbar a.button-logout span.button-inner { + background-position: -2px -1791px; +} + +#taskbar a.button-logout:hover span.button-inner { + background-position: -2px -1829px; +} + + +/*** minimal version of the page header ***/ + +.minimal #topline { + position: fixed; + top: -18px; + background: #444; + z-index: 5000; + width: 100%; + height: 22px; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.minimal #topline:hover { + top: 0px; + opacity: 0.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; + transition: top 0.3s ease-in-out; +} + +.extwin #topline, +.extwin #topline:hover { + position: static; + top: 0px; + height: 18px; + width: auto; + -moz-box-sizing: content-box; + box-sizing: content-box; + opacity: 0.999; +} + +.minimal #topline a.button-logout { + display: none; +} + +.minimal #topline span.username { + display: inline-block; + padding-top: 2px; +} + +.minimal #topnav { + position: relative; + top: 4px; + height: 42px; +} + +.minimal #taskbar a { + position: relative; + padding: 10px 10px 0 6px; + height: 32px; +} + +.minimal #taskbar .button-logout { + display: inline-block; +} + +.minimal #taskbar .button-inner { + top: -4px; + padding: 0; + height: 24px !important; + width: 27px; + text-indent: -5000px; +} + +#taskbar .tooltip { + display: none; +} + +.minimal #taskbar .tooltip { + position: absolute; + top: -500px; + right: 2px; + display: inline-block; + padding: 2px 8px 3px 8px; + background: #444; + background: -moz-linear-gradient(top, #444 0%, #333 100%); + 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(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; + -webkit-box-shadow: 0 1px 5px 0 #333; + z-index: 200; + white-space: nowrap; + text-shadow: 0px 1px 1px #000; +} + +.minimal #taskbar .tooltip:after { + content: ""; + position: absolute; + top: -4px; + right: 15px; + border-style: solid; + border-width: 0 4px 4px; + border-color: #888 transparent; + /* reduce the damage in FF3.0 */ + display: block; + width: 0; + z-index: 251; +} + +.minimal #taskbar a:hover .tooltip { + display: block; + top: 39px; +} + /*** taskbar ***/ + +#taskbar { + position: relative; + padding-right: 18px; +} #taskbar a { display: inline-block; @@ -572,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 { @@ -615,6 +1025,22 @@ background-position: 0 -168px; } +#taskbar .minmodetoggle { + position: absolute; + top: 0; + right: 0; + display: block; + width: 19px; + height: 46px; + cursor: pointer; + background: url(images/buttons.png) -35px -1778px no-repeat; +} + +.minimal #taskbar .minmodetoggle { + height: 42px; + background-position: -35px -1820px; +} + #mainscreen { position: absolute; top: 88px; @@ -623,38 +1049,53 @@ bottom: 20px; } +#mainscreencontent { + position: absolute; + top: 42px; + left: 0; + right: 0; + bottom: 0; +} + #mainscreen.offset { - top: 130px; + top: 132px; } #mainscreen .offset { - margin-top: 42px; + top: 42px; +} + +.minimal #mainscreen { + top: 62px; +} + +.minimal #mainscreen.offset { + top: 102px; +} + +.extwin #mainscreen { + top: 40px; +} + +.extwin #mainscreen.offset { + top: 86px; } .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 { + min-width: 1024px; } .scroller { overflow: auto; -} - -.readtext { - width: 42em; - padding: 12px; - font-size: 12px; -} - -.readtext > h1, -.readtext > h2, -.readtext > h3 { - margin-top: 0; } .watermark { @@ -662,6 +1103,15 @@ 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 ***/ @@ -676,7 +1126,8 @@ left: 0; width: 100%; bottom: 0; - overflow: auto; + overflow-x: hidden; + overflow-y: auto; } .listbox .scroller.withfooter { @@ -688,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; @@ -723,6 +1177,7 @@ } .listbox .listitem a, +.listbox .listitem span, .listbox .tablink a, .listing tbody td, .listing li a { @@ -731,32 +1186,55 @@ 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 { color: #004458; font-weight: bold; + background-color: #c7e3ef; } ul.listing { @@ -768,11 +1246,22 @@ ul.listing li { background-color: #d9ecf4; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +ul.listing li ul { + border-top: 1px solid #bbd3da; } ul.listing li.droptarget, table.listing tr.droptarget td { - background-color: #c7e3ef; + background-color: #e8e798; +} + +.listbox table.listing { + background-color: #d9ecf4; } table.listing, @@ -786,6 +1275,99 @@ vertical-align: top; } +ul.treelist li { + 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: 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 { + background-position: -3px -168px; +} + +ul.treelist li.selected > div.collapsed { + background-position: -23px -144px; +} + +ul.treelist li.selected > div.expanded { + background-position: -23px -168px; +} + .listbox .boxfooter { position: absolute; bottom: 0; @@ -794,11 +1376,14 @@ 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; +} + +.uibox .boxfooter { + border-radius: 0 0 4px 4px; } .boxfooter .listbutton { @@ -811,12 +1396,25 @@ 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; +} + .boxfooter .listbutton .inner { display: inline-block; width: 48px; height: 35px; - text-indent: -1000px; - background: url(images/buttons.png) -1000px 0 no-repeat; + text-indent: -5000px; + background-image: url(images/buttons.png); + background-position: -1000px 0; + background-repeat: no-repeat; } .boxfooter .listbutton.add .inner { @@ -848,9 +1446,12 @@ 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 { @@ -893,7 +1494,6 @@ .boxpagenav a.icon.disabled { opacity: 0.4; - filter: alpha(opacity=40); } .centerbox { @@ -918,7 +1518,6 @@ display: table; width: 100%; table-layout: fixed; - border-collapse: collapse; border-spacing: 0; border: 1px solid #bbd3da; } @@ -927,6 +1526,7 @@ border: 0; } +.records-table thead th, .records-table thead td { color: #69939e; font-size: 11px; @@ -939,18 +1539,34 @@ background: linear-gradient(left, #e3f2f6 0, #d6eaf3 14px, #d6eaf3 100%); border-left: 1px solid #bbd3da; 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; color: #69939e; 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 { @@ -962,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, @@ -984,21 +1613,10 @@ color: #fff !important; } -.records-table tr.unfocused td { - color: #fff !important; - background: #4db0d2; -} - -.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 ***/ @@ -1014,8 +1632,12 @@ margin: 38px 0 10px 0; } -body.iframe.footerbuttons { - margin-bottom: 42px; +body.iframe.error { + background: #ededed; +} + +body.iframe.floatingbuttons { + margin-bottom: 40px; } body.iframe.fullheight { @@ -1030,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; } @@ -1042,18 +1664,40 @@ z-index: 100; } -body.iframe .footerbuttons { +body.iframe .footerleft.floating, +#composeview-bottom .formbuttons.floating { position: fixed; left: 0; bottom: 0; width: 100%; z-index: 110; background: #fff; - padding: 8px; + padding-top: 8px; + padding-bottom: 12px; +} + +body.iframe .footerleft.floating:before, +#composeview-bottom .formbuttons.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; +} + +.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 { @@ -1061,12 +1705,20 @@ top: 34px; left: 0; right: 0; - bottom: 28px; + bottom: 0px; overflow: auto; } +.iframebox { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0px; +} + .footerleft { - padding: 0 12px; + padding: 0 12px 4px 12px; } .propform fieldset { @@ -1086,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 { @@ -1155,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 { @@ -1166,13 +1836,22 @@ padding-top: 10px; } +#login-form .noscriptwarning { + margin: 0 auto; + width: 430px; + color: #cf2734; + font-size: 110%; + font-weight: bold; +} + #login-form td.input { + width: 80%; padding: 8px; } #login-form input[type="text"], #login-form input[type="password"] { - width: 24em; + width: 100%; border-color: #666; } @@ -1185,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 { @@ -1206,10 +1881,16 @@ 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 { + width: 98%; } #login-form td.title { + width: 20%; + white-space: nowrap; color: #cecece; text-shadow: 0px 1px 1px black; text-align: right; @@ -1223,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: block; - width: 200px; - margin: 0 auto; + display: inline-block; + padding-right: 0; + font-size: 12px; } #bottomline { @@ -1246,40 +1930,73 @@ /*** quicksearch **/ -#quicksearchbar { - width: 100%; +.searchbox { + position: relative; } +#quicksearchbar { + position: absolute; + right: 2px; + top: 2px; + width: 240px; +} + +.searchbox input, #quicksearchbar input { width: 176px; margin: 0; - padding: 5px 26px 5px 38px; + padding: 3px 30px 3px 34px; + height: 18px; background: #f1f1f1; - border-color: #a3a3a3; + border-color: #ababab; font-weight: bold; + font-size: 11px; } +.searchbox .searchicon, +.searchbox #searchmenulink, #quicksearchbar #searchmenulink { position: absolute; top: 5px; - left: 8px; + left: 6px; } +.searchbox #searchreset, +.searchbox .iconbutton.reset, #quicksearchbar #searchreset { position: absolute; top: 4px; - right: 3px; + 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 ***/ + +.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; + max-width: 70px; height: 13px; overflow: hidden; text-overflow: ellipsis; @@ -1287,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 { @@ -1309,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 { @@ -1353,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 { @@ -1381,6 +2119,10 @@ background-position: center -1094px; } +.toolbar a.button.move { + background-position: center -1971px; +} + .toolbar a.button.more { background-position: center -850px; } @@ -1390,7 +2132,13 @@ } .toolbar a.button.spellcheck { - background-position: center -930px; + min-width: 64px; + background-position: 0 -930px; +} + +.toolbar a.button.spellcheck.selected { + background-position: 0 -1620px; + color: #1978a1; } .toolbar a.button.insertsig { @@ -1406,7 +2154,36 @@ } .toolbar a.button.export { - background-position: center -1054px; + min-width: 64px; + background-position: 0 -1054px; +} + +.toolbar a.button.send { + background-position: center -1660px; +} + +.toolbar a.button.savedraft { + background-position: center -1700px; +} + +.toolbar a.button.close { + 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 { @@ -1418,15 +2195,18 @@ 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; + white-space: nowrap; } a.menuselector .handle { display: inline-block; - padding: 3px 32px 0 8px; - min-height: 18px; + 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; @@ -1438,13 +2218,8 @@ 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; -} - -a.dropdownselector { - position: absolute; - z-index: 1; } select.decorated { @@ -1453,14 +2228,13 @@ opacity: 0; height: 22px; cursor: pointer; - filter: alpha(opacity=0); -khtml-appearance: none; -webkit-appearance: none; + border: 0; } html.opera select.decorated { opacity: 1; - height: auto; } select.decorated option { @@ -1470,7 +2244,19 @@ border-top: 1px solid #5a5a5a; border-bottom: 1px solid #333; text-shadow: 0px 1px 1px #333; - padding: 6px 10px; + 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; } @@ -1479,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 ***/ @@ -1496,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 { @@ -1512,6 +2328,7 @@ } ul.toolbarmenu, +ul.toolbarmenu ul, #rcmKSearchpane ul { margin: 0; padding: 0; @@ -1530,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; } @@ -1548,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 { @@ -1563,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; @@ -1571,11 +2390,17 @@ 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 { +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 { @@ -1585,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; @@ -1599,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 { @@ -1663,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; @@ -1672,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 { @@ -1730,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; } @@ -1766,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 ***/ @@ -1782,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 { @@ -1848,15 +2987,74 @@ background-position: 0 -364px; } +.attachmentslist li.vcard { + background-position: 0 -390px; +} + +.attachmentslist li.sig, +.attachmentslist li.pgp-signature, +.attachmentslist li.pkcs7-signature { + background-position: 0 -442px; +} + +.attachmentslist li.html { + background-position: 0 -468px; +} + +.attachmentslist li.eml, +.attachmentslist li.rfc822 { + 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 { + padding-right: 28px; } .attachmentslist li a:hover { @@ -1870,38 +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: -1000px; - background: url(images/buttons.png) -7px -337px no-repeat; + text-indent: -5000px; + 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; +.tabbed.ui-tabs { + padding: 0; + border: 0 !important; + background: none; } -.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%); +.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:last-child { @@ -1912,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