styles.css 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878
  1. /* Copyright (c) 2011, Jan-Christoph Borchardt, http://jancborchardt.net
  2. This file is licensed under the Affero General Public License version 3 or later.
  3. See the COPYING-README file. */
  4. html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, nav, section { margin:0; padding:0; border:0; outline:0; font-weight:inherit; font-size:100%; font-family:inherit; vertical-align:baseline; cursor:default; }
  5. html, body { height:100%; }
  6. article, aside, dialog, figure, footer, header, hgroup, nav, section { display:block; }
  7. body { line-height:1.5; }
  8. table { border-collapse:separate; border-spacing:0; white-space:nowrap; }
  9. caption, th, td { text-align:left; font-weight:normal; }
  10. table, td, th { vertical-align:middle; }
  11. a { border:0; color:#000; text-decoration:none;}
  12. a, a *, input, input *, select, .button span, li, label { cursor:pointer; }
  13. ul { list-style:none; }
  14. body { background:#fefefe; font:normal .8em/1.6em "Helvetica Neue",Helvetica,Arial,FreeSans,sans-serif; color:#000; }
  15. /* HEADERS */
  16. #body-user #header, #body-settings #header {
  17. position:fixed; top:0; left:0; right:0; z-index:100; height:45px; line-height:2.5em;
  18. background:#1d2d44 url('../img/noise.png') repeat;
  19. -moz-box-shadow:0 0 10px rgba(0, 0, 0, .5), inset 0 -2px 10px #222; -webkit-box-shadow:0 0 10px rgba(0, 0, 0, .5), inset 0 -2px 10px #222; box-shadow:0 0 10px rgba(0, 0, 0, .5), inset 0 -2px 10px #222; }
  20. #body-login {
  21. text-align: center;
  22. background: #1d2d44; /* Old browsers */
  23. background: url('../img/noise.png'), -moz-linear-gradient(top, #35537a 0%, #1d2d44 100%); /* FF3.6+ */
  24. background: url('../img/noise.png'), -webkit-gradient(linear, left top, left bottom, color-stop(0%,#35537a), color-stop(100%,#1d2d44)); /* Chrome,Safari4+ */
  25. background: url('../img/noise.png'), -webkit-linear-gradient(top, #35537a 0%,#1d2d44 100%); /* Chrome10+,Safari5.1+ */
  26. background: url('../img/noise.png'), -o-linear-gradient(top, #35537a 0%,#1d2d44 100%); /* Opera11.10+ */
  27. background: url('../img/noise.png'), -ms-linear-gradient(top, #35537a 0%,#1d2d44 100%); /* IE10+ */
  28. background: url('../img/noise.png'), linear-gradient(top, #35537a 0%,#1d2d44 100%); /* W3C */
  29. filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#35537a', endColorstr='#1d2d44',GradientType=0 ); /* IE6-9 */
  30. }
  31. #owncloud { position:absolute; top:0; left:0; padding:6px; padding-bottom:0; }
  32. .header-right { float:right; vertical-align:middle; padding:0.5em; }
  33. .header-right > * { vertical-align:middle; }
  34. /* INPUTS */
  35. input[type="text"], input[type="password"], input[type="search"], input[type="number"], input[type="email"], input[type="url"],
  36. textarea, select,
  37. button, .button,
  38. #quota, div.jp-progress, .pager li a {
  39. width:10em; margin:.3em; padding:.6em .5em .4em;
  40. font-size:1em;
  41. background:#fff; color:#333; border:1px solid #ddd; outline:none;
  42. -moz-box-shadow:0 1px 1px #fff, 0 2px 0 #bbb inset; -webkit-box-shadow:0 1px 1px #fff, 0 1px 0 #bbb inset; box-shadow:0 1px 1px #fff, 0 1px 0 #bbb inset;
  43. -moz-border-radius:.5em; -webkit-border-radius:.5em; border-radius:.5em;
  44. }
  45. input[type="hidden"] { height:0; width:0; }
  46. input[type="text"], input[type="password"], input[type="search"], input[type="number"], input[type="email"], input[type="url"], textarea {
  47. background:#f8f8f8; color:#555; cursor:text;
  48. font-family: inherit; /* use default ownCloud font instead of default textarea monospace */
  49. }
  50. input[type="text"], input[type="password"], input[type="search"], input[type="number"], input[type="email"], input[type="url"] {
  51. -webkit-appearance:textfield; -moz-appearance:textfield;
  52. -webkit-box-sizing:content-box; -moz-box-sizing:content-box; box-sizing:content-box;
  53. }
  54. input[type="text"]:hover, input[type="text"]:focus, input[type="text"]:active,
  55. input[type="password"]:hover, input[type="password"]:focus, input[type="password"]:active,
  56. input[type="number"]:hover, input[type="number"]:focus, input[type="number"]:active,
  57. .searchbox input[type="search"]:hover, .searchbox input[type="search"]:focus, .searchbox input[type="search"]:active,
  58. input[type="email"]:hover, input[type="email"]:focus, input[type="email"]:active,
  59. input[type="url"]:hover, input[type="url"]:focus, input[type="url"]:active,
  60. textarea:hover, textarea:focus, textarea:active {
  61. background-color:#fff; color:#333;
  62. -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter:alpha(opacity=100); opacity:1;
  63. }
  64. input[type="checkbox"] { margin:0; padding:0; height:auto; width:auto; }
  65. input[type="checkbox"]:hover+label, input[type="checkbox"]:focus+label { color:#111 !important; }
  66. #quota { cursor:default; }
  67. /* SCROLLING */
  68. ::-webkit-scrollbar { width:8px; }
  69. ::-webkit-scrollbar-track-piece { background-color:transparent; }
  70. ::-webkit-scrollbar-thumb { background:#ddd; }
  71. /* BUTTONS */
  72. input[type="submit"], input[type="button"],
  73. button, .button,
  74. #quota, div.jp-progress, select, .pager li a {
  75. width:auto; padding:.4em;
  76. background-color:rgba(240,240,240,.9); font-weight:bold; color:#555; text-shadow:rgba(255,255,255,.9) 0 1px 0; border:1px solid rgba(190,190,190,.9); cursor:pointer;
  77. -moz-box-shadow:0 1px 1px rgba(255,255,255,.9), 0 1px 1px rgba(255,255,255,.9) inset; -webkit-box-shadow:0 1px 1px rgba(255,255,255,.9), 0 1px 1px rgba(255,255,255,.9) inset; box-shadow:0 1px 1px rgba(255,255,255,.9), 0 1px 1px rgba(255,255,255,.9) inset;
  78. -moz-border-radius:.5em; -webkit-border-radius:.5em; border-radius:.5em;
  79. }
  80. input[type="submit"]:hover, input[type="submit"]:focus,
  81. input[type="button"]:hover, input[type="button"]:focus,
  82. button:hover, button:focus,
  83. .button:hover, .button:focus,
  84. select:hover, select:focus, select:active {
  85. background-color:rgba(250,250,250,.9);
  86. color:#333;
  87. }
  88. input[type="submit"] img, input[type="button"] img, button img, .button img { cursor:pointer; }
  89. #header .button { border:none; -moz-box-shadow:none; -webkit-box-shadow:none; box-shadow:none; }
  90. /* disabled input fields and buttons */
  91. input:disabled, input:disabled:hover, input:disabled:focus,
  92. button:disabled, button:disabled:hover, button:disabled:focus,
  93. .button:disabled, .button:disabled:hover, .button:disabled:focus,
  94. a.disabled, a.disabled:hover, a.disabled:focus {
  95. background: rgba(230,230,230,.9);
  96. color: #999;
  97. cursor: default;
  98. }
  99. /* Primary action button, use sparingly */
  100. .primary, input[type="submit"].primary, input[type="button"].primary, button.primary, .button.primary {
  101. border: 1px solid #1d2d44;
  102. background: #35537a;
  103. color: #ddd;
  104. text-shadow: #000 0 -1px 0;
  105. -moz-box-shadow: 0 0 1px #000, 0 1px 0 #6d7d94 inset;
  106. -webkit-box-shadow: 0 0 1px #000, 0 1px 0 #6d7d94 inset;
  107. box-shadow: 0 0 1px #000, 0 1px 0 #6d7d94 inset;
  108. }
  109. .primary:hover, input[type="submit"].primary:hover, input[type="button"].primary:hover, button.primary:hover, .button.primary:hover,
  110. .primary:focus, input[type="submit"].primary:focus, input[type="button"].primary:focus, button.primary:focus, .button.primary:focus {
  111. border: 1px solid #1d2d44;
  112. background: #304d76;
  113. color: #fff;
  114. text-shadow: #000 0 -1px 0;
  115. -moz-box-shadow: 0 0 1px #000, 0 1px 0 #4d5d74 inset;
  116. -webkit-box-shadow: 0 0 1px #000, 0 1px 0 #4d5d74 inset;
  117. box-shadow: 0 0 1px #000, 0 1px 0 #4d5d74 inset;
  118. }
  119. .primary:active, input[type="submit"].primary:active, input[type="button"].primary:active, button.primary:active, .button.primary:active {
  120. border: 1px solid #1d2d44;
  121. background: #1d2d44;
  122. color: #bbb;
  123. text-shadow: #000 0 -1px 0;
  124. -moz-box-shadow: 0 1px 1px #3d4d64, 0 1px 1px 0 rgba(0,0,0,.2) inset;
  125. -webkit-box-shadow: 0 1px 1px #3d4d64, 0 1px 1px 0 rgba(0,0,0,.2) inset;
  126. box-shadow: 0 1px 1px #3d4d64, 0 1px 1px 0 rgba(0,0,0,.2) inset;
  127. }
  128. .searchbox input[type="search"] { font-size:1.2em; padding:.2em .5em .2em 1.5em; background:#fff url('../img/actions/search.svg') no-repeat .5em center; border:0; -moz-border-radius:1em; -webkit-border-radius:1em; border-radius:1em; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; filter:alpha(opacity=70);opacity:.7; -webkit-transition:opacity 300ms; -moz-transition:opacity 300ms; -o-transition:opacity 300ms; transition:opacity 300ms; margin-top:10px; float:right; }
  129. input[type="submit"].enabled { background:#66f866; border:1px solid #5e5; -moz-box-shadow:0 1px 1px #f8f8f8, 0 1px 1px #cfc inset; -webkit-box-shadow:0 1px 1px #f8f8f8, 0 1px 1px #cfc inset; box-shadow:0 1px 1px #f8f8f8, 0 1px 1px #cfc inset; }
  130. #select_all{ margin-top:.4em !important;}
  131. /* CONTENT ------------------------------------------------------------------ */
  132. #controls {
  133. position:fixed;
  134. height:2.8em; width:100%;
  135. padding:0 70px 0 0.5em; margin:0;
  136. -moz-box-sizing:border-box; box-sizing:border-box;
  137. -moz-box-shadow:0 -3px 7px #000; -webkit-box-shadow:0 -3px 7px #000; box-shadow:0 -3px 7px #000;
  138. background:#eee; border-bottom:1px solid #e7e7e7; z-index:50;
  139. }
  140. #controls .button { display:inline-block; }
  141. #content { position:relative; height:100%; width:100%; }
  142. #content .hascontrols { position: relative; top: 2.9em; }
  143. #content-wrapper {
  144. position:absolute; height:100%; width:100%; padding-top:3.5em; padding-left:64px;
  145. -moz-box-sizing:border-box; box-sizing:border-box;
  146. }
  147. #leftcontent, .leftcontent {
  148. position:relative; overflow:auto; width:20em; height:100%;
  149. background:#f8f8f8; border-right:1px solid #ddd;
  150. -moz-box-sizing:border-box; box-sizing:border-box;
  151. }
  152. #leftcontent li, .leftcontent li { background:#f8f8f8; padding:.5em .8em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; -webkit-transition:background-color 200ms; -moz-transition:background-color 200ms; -o-transition:background-color 200ms; transition:background-color 200ms; }
  153. #leftcontent li:hover, #leftcontent li:active, #leftcontent li.active, .leftcontent li:hover, .leftcontent li:active, .leftcontent li.active { background:#eee; }
  154. #leftcontent li.active, .leftcontent li.active { font-weight:bold; }
  155. #leftcontent li:hover, .leftcontent li:hover { color:#333; background:#ddd; }
  156. #leftcontent a { height:100%; display:block; margin:0; padding:0 1em 0 0; float:left; }
  157. #rightcontent, .rightcontent { position:fixed; top:6.4em; left:24.5em; overflow:auto }
  158. /* LOG IN & INSTALLATION ------------------------------------------------------------ */
  159. /* Some whitespace to the top */
  160. #body-login #header {
  161. padding-top: 100px;
  162. }
  163. /* Fix background gradient */
  164. #body-login {
  165. background-attachment: fixed;
  166. }
  167. /* Dark subtle label text */
  168. #body-login p.info,
  169. #body-login form fieldset legend,
  170. #body-login #datadirContent label,
  171. #body-login form input[type="checkbox"]+label {
  172. text-align: center;
  173. color: #000;
  174. text-shadow: 0 1px 0 rgba(255,255,255,.1);
  175. -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  176. filter: alpha(opacity=80);
  177. opacity: .8;
  178. }
  179. #body-login div.buttons { text-align:center; }
  180. #body-login p.info {
  181. width: 22em;
  182. margin: 0 auto;
  183. padding-top: 20px;
  184. }
  185. #body-login p.info a {
  186. font-weight: bold;
  187. }
  188. #body-login #submit.login { margin-right:7px; } /* quick fix for log in button not being aligned with input fields, should be properly fixed by input field width later */
  189. #body-login form { width:22em; margin:2em auto 2em; padding:0; }
  190. #body-login form fieldset {
  191. margin-bottom: 20px;
  192. text-align: left;
  193. }
  194. #body-login form #adminaccount { margin-bottom:5px; }
  195. #body-login form fieldset legend, #datadirContent label {
  196. width: 100%;
  197. font-weight: bold;
  198. }
  199. #body-login #datadirContent label {
  200. display: block;
  201. margin: 0;
  202. }
  203. #body-login form #datadirField legend {
  204. margin-bottom: 15px;
  205. }
  206. #body-login #showAdvanced {
  207. padding: 13px; /* increase clickable area of Advanced dropdown */
  208. }
  209. #body-login #showAdvanced img {
  210. vertical-align: bottom; /* adjust position of Advanced dropdown arrow */
  211. margin-left: -4px;
  212. }
  213. /* Icons for username and password fields to better recognize them */
  214. #adminlogin, #adminpass, #user, #password { width:11.7em!important; padding-left:1.8em; }
  215. #adminlogin+label+img, #adminpass-icon, #user+label+img, #password-icon {
  216. position:absolute; left:1.25em; top:1.65em;
  217. -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; filter:alpha(opacity=30); opacity:.3;
  218. }
  219. #adminpass-icon, #password-icon { top:1.1em; }
  220. input[name="password-clone"] { padding-left:1.8em; width:11.7em !important; }
  221. input[name="adminpass-clone"] { padding-left:1.8em; width:11.7em !important; }
  222. /* General new input field look */
  223. #body-login input[type="text"],
  224. #body-login input[type="password"],
  225. #body-login input[type="email"] {
  226. border: 1px solid #323233;
  227. -moz-box-shadow: 0 1px 0 rgba(255,255,255,.15), 0 1px 3px rgba(0,0,0,.25) inset;
  228. -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.15), 0 1px 3px rgba(0,0,0,.25) inset;
  229. box-shadow: 0 1px 0 rgba(255,255,255,.15), 0 1px 3px rgba(0,0,0,.25) inset;
  230. }
  231. /* Nicely grouping input field sets */
  232. #body-login .grouptop input {
  233. margin-bottom: 0;
  234. border-bottom: 0;
  235. border-bottom-left-radius: 0;
  236. border-bottom-right-radius: 0;
  237. }
  238. #body-login .groupmiddle input {
  239. margin-top: 0;
  240. margin-bottom: 0;
  241. border-top: 0;
  242. border-bottom: 0;
  243. border-radius: 0;
  244. -moz-box-shadow: 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(0,0,0,.1) inset !important;
  245. -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(0,0,0,.1) inset !important;
  246. box-shadow: 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(0,0,0,.1) inset !important;
  247. }
  248. #body-login .groupbottom input {
  249. margin-top: 0;
  250. border-top: 0;
  251. border-top-right-radius: 0;
  252. border-top-left-radius: 0;
  253. -moz-box-shadow: 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(0,0,0,.1) inset !important;
  254. -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(0,0,0,.1) inset !important;
  255. box-shadow: 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(0,0,0,.1) inset !important;
  256. }
  257. /* In field labels. No, HTML placeholder does not work as well. */
  258. #body-login .groupmiddle label, #body-login .groupbottom label { top:.65em; }
  259. p.infield { position:relative; }
  260. label.infield { cursor:text !important; top:1.05em; left:.85em; }
  261. #body-login form label.infield { /* labels are ellipsized when too long, keep them short */
  262. position:absolute; width:90%; padding-left:1.4em;
  263. font-size:19px; color:#aaa;
  264. white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  265. }
  266. #body-login #databaseField .infield { padding-left:0; }
  267. #body-login form input[type="checkbox"]+label {
  268. position: relative;
  269. margin: 0;
  270. font-size: 1em;
  271. padding: 14px;
  272. padding-left: 28px;
  273. margin-left: -28px;
  274. }
  275. #body-login form .errors { background:#fed7d7; border:1px solid #f00; list-style-indent:inside; margin:0 0 2em; padding:1em; }
  276. #body-login .success { background:#d7fed7; border:1px solid #0f0; width: 35%; margin: 30px auto; padding:1em; text-align: center;}
  277. /* Show password toggle */
  278. #show, #dbpassword {
  279. position: absolute;
  280. right: 1em;
  281. top: .8em;
  282. float: right;
  283. }
  284. #show, #dbpassword, #personal-show {
  285. display: none;
  286. }
  287. #show + label, #dbpassword + label {
  288. right: 21px;
  289. top: 15px !important;
  290. margin: -14px !important;
  291. padding: 14px !important;
  292. }
  293. #show:checked + label, #dbpassword:checked + label, #personal-show:checked + label {
  294. -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  295. filter: alpha(opacity=80);
  296. opacity: .8;
  297. }
  298. #show + label, #dbpassword + label, #personal-show + label {
  299. position: absolute !important;
  300. height: 14px;
  301. width: 24px;
  302. background-image: url("../img/actions/toggle.png");
  303. background-repeat: no-repeat;
  304. background-position: center;
  305. -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
  306. filter: alpha(opacity=30);
  307. opacity: .3;
  308. }
  309. #pass2, input[name="personal-password-clone"] {
  310. padding: .6em 2.5em .4em .4em;
  311. width: 8em;
  312. }
  313. #personal-show + label {
  314. margin-top: 1em;
  315. margin-left: -3em;
  316. }
  317. #passwordbutton {
  318. margin-left: .5em;
  319. }
  320. /* Database selector */
  321. #body-login form #selectDbType { text-align:center; white-space: nowrap; }
  322. #body-login form #selectDbType label {
  323. position:static; margin:0 -3px 5px; padding:.4em;
  324. font-size:12px; font-weight:bold; background:#f8f8f8; color:#888; cursor:pointer;
  325. border:1px solid #ddd; text-shadow:#eee 0 1px 0;
  326. -moz-box-shadow:0 1px 1px #fff, 0 1px 1px #fff inset; -webkit-box-shadow:0 1px 1px #fff, 0 1px 1px #fff inset;
  327. }
  328. #body-login form #selectDbType label.ui-state-hover, #body-login form #selectDbType label.ui-state-active { color:#000; background-color:#e8e8e8; }
  329. /* Warnings and errors are the same */
  330. .warning, .update, .error {
  331. display: block;
  332. padding: 10px;
  333. color: #dd3b3b;
  334. text-shadow: 0 -1px 0 rgba(0,0,0,.3);
  335. background-color: rgba(0,0,0,.3);
  336. text-align: center;
  337. -moz-border-radius: 5px;
  338. -webkit-border-radius: 5px;
  339. border-radius: 5px;
  340. cursor: default;
  341. }
  342. .warning legend,
  343. .warning a,
  344. .error a {
  345. color: #dd3b3b !important;
  346. font-weight: bold;
  347. }
  348. /* Fixes for log in page, TODO should be removed some time */
  349. #body-login .update,
  350. #body-login .error {
  351. margin: 35px auto;
  352. }
  353. #body-login .warning {
  354. margin: 0 7px 5px;
  355. font-weight: bold;
  356. }
  357. #body-login .warning legend {
  358. text-shadow: none;
  359. -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  360. filter: alpha(opacity=100);
  361. opacity: 1;
  362. }
  363. #body-login a.warning {
  364. cursor: pointer;
  365. }
  366. /* Alternative Logins */
  367. #alternative-logins legend { margin-bottom:10px; }
  368. #alternative-logins li { height:40px; display:inline-block; white-space:nowrap; }
  369. /* Log in and install button */
  370. #body-login input {
  371. font-size: 1.5em;
  372. }
  373. #body-login input[type="text"],
  374. #body-login input[type="password"] {
  375. width: 13em;
  376. }
  377. #body-login input.login {
  378. width: auto;
  379. float: right;
  380. }
  381. #body-login input[type="submit"] {
  382. padding: 10px 20px; /* larger log in and installation buttons */
  383. }
  384. #remember_login {
  385. margin: 18px 5px 0 18px;
  386. vertical-align: text-bottom;
  387. }
  388. /* Sticky footer */
  389. #body-login .wrapper {
  390. min-height: 100%;
  391. margin: 0 auto -70px;
  392. width: 300px;
  393. }
  394. #body-login footer, #body-login .push {
  395. height: 70px;
  396. }
  397. /* NAVIGATION ------------------------------------------------------------- */
  398. #navigation {
  399. position:fixed; float:left; width:64px; padding-top:3.5em; z-index:75; height:100%;
  400. background:#383c43 url('../img/noise.png') repeat;
  401. -moz-box-shadow:0 0 7px #000; -webkit-box-shadow:0 0 7px #000; box-shadow:0 0 7px #000;
  402. overflow:hidden; box-sizing:border-box; -moz-box-sizing:border-box;
  403. }
  404. #navigation:hover { overflow-y:auto; } /* show scrollbar only on hover */
  405. #navigation a span {
  406. display:block;
  407. text-decoration:none; font-size:10px; text-align:center;
  408. color:#fff; text-shadow:#000 0 -1px 0;
  409. white-space:nowrap; overflow:hidden; text-overflow:ellipsis; /* ellipsize long app names */
  410. }
  411. /* icon opacity and hover effect */
  412. #navigation a img,
  413. #navigation a span {
  414. /* 50% opacity when inactive */
  415. -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  416. filter: alpha(opacity=50);
  417. opacity: .5;
  418. }
  419. #navigation a:hover img, #navigation a:focus img,
  420. #navigation a:hover span, #navigation a:focus span {
  421. /* 80% opacity when hovered or focused */
  422. -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  423. filter: alpha(opacity=80);
  424. opacity: .8;
  425. }
  426. #navigation a.active img,
  427. #navigation a.active span {
  428. /* full opacity for the active app */
  429. -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  430. filter: alpha(opacity=100);
  431. opacity: 1;
  432. }
  433. /* positioning */
  434. #navigation .icon {
  435. display:block;
  436. width:32px; height:32px;
  437. margin:0 16px 0; padding:8px 0 4px;
  438. }
  439. #navigation li:first-child a { padding-top:16px; }
  440. /* USER MENU */
  441. #settings { float:right; margin-top:7px; color:#bbb; text-shadow:0 -1px 0 #000; }
  442. #expand { padding:15px; cursor:pointer; font-weight:bold; }
  443. #expand:hover, #expand:focus, #expand:active { color:#fff; }
  444. #expand img { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; filter:alpha(opacity=70); opacity:.7; margin-bottom:-2px; }
  445. #expand:hover img, #expand:focus img, #expand:active img { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter:alpha(opacity=100); opacity:1; }
  446. #expanddiv {
  447. position:absolute; right:0; top:45px; z-index:76; display:none;
  448. background:#383c43 url('../img/noise.png') repeat;
  449. border-bottom-left-radius:7px; border-bottom:1px #333 solid; border-left:1px #333 solid;
  450. -moz-box-shadow:0 0 7px rgb(29,45,68); -webkit-box-shadow:0 0 7px rgb(29,45,68); box-shadow:0 0 7px rgb(29,45,68);
  451. }
  452. #expanddiv a {
  453. display:block; color:#fff; text-shadow:0 -1px 0 #000; padding:0 8px;
  454. -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; filter:alpha(opacity=70);opacity:.7;
  455. }
  456. #expanddiv a img { margin-bottom:-3px; }
  457. #expanddiv a:hover, #expanddiv a:focus, #expanddiv a:active { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter:alpha(opacity=100); opacity:1; }
  458. /* VARIOUS REUSABLE SELECTORS */
  459. .hidden { display:none; }
  460. .bold { font-weight:bold; }
  461. .center { text-align:center; }
  462. #notification-container { position: fixed; top: 0px; width: 100%; text-align: center; z-index: 101; line-height: 1.2;}
  463. #notification, #update-notification { z-index:101; background-color:#fc4; border:0; padding:0 .7em .3em; display:none; position: relative; top:0; -moz-border-radius-bottomleft:1em; -webkit-border-bottom-left-radius:1em; border-bottom-left-radius:1em; -moz-border-radius-bottomright:1em; -webkit-border-bottom-right-radius:1em; border-bottom-right-radius:1em; }
  464. #notification span, #update-notification span { cursor:pointer; font-weight:bold; margin-left:1em; }
  465. tr .action:not(.permanent), .selectedActions a { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter:alpha(opacity=0); opacity:0; }
  466. tr:hover .action, tr .action.permanent, .selectedActions a { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; filter:alpha(opacity=50); opacity:.5; }
  467. tr .action { width:16px; height:16px; }
  468. .header-action { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; filter:alpha(opacity=80); opacity:.8; }
  469. tr:hover .action:hover, .selectedActions a:hover, .header-action:hover { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter:alpha(opacity=100); opacity:1; }
  470. tbody tr:hover, tr:active { background-color:#f8f8f8; }
  471. #body-settings .personalblock, #body-settings .helpblock {
  472. padding: .5em 1em;
  473. margin: 1em;
  474. background-color: rgb(240,240,240);
  475. color: #555;
  476. text-shadow: #fff 0 1px 0;
  477. -moz-border-radius: .5em; -webkit-border-radius: .5em; border-radius: .5em;
  478. }
  479. #body-settings .personalblock#quota { position:relative; padding:0; }
  480. #body-settings #controls+.helpblock { position:relative; margin-top:3em; }
  481. .personalblock > legend { margin-top:2em; }
  482. .personalblock > legend, th, dt, label { font-weight:bold; }
  483. code { font-family:"Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", monospace; }
  484. #quota div, div.jp-play-bar, div.jp-seek-bar {
  485. padding: 0;
  486. background-color: rgb(220,220,220);
  487. font-weight: normal;
  488. white-space: nowrap;
  489. -moz-border-radius-bottomleft: .4em; -webkit-border-bottom-left-radius: .4em; border-bottom-left-radius:.4em;
  490. -moz-border-radius-topleft: .4em; -webkit-border-top-left-radius: .4em; border-top-left-radius: .4em; }
  491. #quotatext {padding:.6em 1em;}
  492. div.jp-play-bar, div.jp-seek-bar { padding:0; }
  493. .pager { list-style:none; float:right; display:inline; margin:.7em 13em 0 0; }
  494. .pager li { display:inline-block; }
  495. .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { overflow:hidden; text-overflow:ellipsis; }
  496. .separator { display:inline; border-left:1px solid #d3d3d3; border-right:1px solid #fff; height:10px; width:0px; margin:4px; }
  497. a.bookmarklet { background-color:#ddd; border:1px solid #ccc; padding:5px;padding-top:0px;padding-bottom:2px; text-decoration:none; margin-top:5px }
  498. .exception{color:#000;}
  499. .exception textarea{width:95%;height:200px;background:#ffe;border:0;}
  500. .ui-icon-circle-triangle-e{ background-image:url('../img/actions/play-next.svg'); }
  501. .ui-icon-circle-triangle-w{ background-image:url('../img/actions/play-previous.svg'); }
  502. .ui-datepicker-prev,.ui-datepicker-next{ border:1px solid #ddd; background:#fff; }
  503. /* ---- DIALOGS ---- */
  504. #oc-dialog-filepicker-content .dirtree {width:92%; overflow:hidden; }
  505. #oc-dialog-filepicker-content .dirtree .home {
  506. background-image:url('../img/places/home.svg');
  507. background-repeat:no-repeat;
  508. background-position: left center;
  509. }
  510. #oc-dialog-filepicker-content .dirtree span:not(:last-child) { cursor: pointer; }
  511. #oc-dialog-filepicker-content .dirtree span:last-child { font-weight: bold; }
  512. #oc-dialog-filepicker-content .dirtree span:not(:last-child)::after { content: '>'; padding: 3px;}
  513. #oc-dialog-filepicker-content .filelist {
  514. overflow-y:auto;
  515. max-height: 300px;
  516. background-color:white;
  517. width:100%;
  518. }
  519. #oc-dialog-filepicker-content .filelist img { margin: 2px 1em 0 4px; }
  520. #oc-dialog-filepicker-content .filelist .date { float:right;margin-right:1em; }
  521. #oc-dialog-filepicker-content .filepicker_element_selected { background-color:lightblue;}
  522. .ui-dialog {position:fixed !important;}
  523. span.ui-icon {float: left; margin: 3px 7px 30px 0;}
  524. .loading { background: url('../img/loading.gif') no-repeat center; cursor: wait; }
  525. .move2trash { /* decrease spinner size */
  526. width: 16px;
  527. height: 16px;
  528. }
  529. /* ---- CATEGORIES ---- */
  530. #categoryform .scrollarea { position:absolute; left:10px; top:10px; right:10px; bottom:50px; overflow:auto; border:1px solid #ddd; background:#f8f8f8; }
  531. #categoryform .bottombuttons { position:absolute; bottom:10px;}
  532. #categoryform .bottombuttons * { float:left;}
  533. /*#categorylist { border:1px solid #ddd;}*/
  534. #categorylist li { background:#f8f8f8; padding:.3em .8em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; -webkit-transition:background-color 500ms; -moz-transition:background-color 500ms; -o-transition:background-color 500ms; transition:background-color 500ms; }
  535. #categorylist li:hover, #categorylist li:active { background:#eee; }
  536. #category_addinput { width:10em; }
  537. /* ---- APP SETTINGS ---- */
  538. .popup { background-color:white; border-radius:10px 10px 10px 10px; box-shadow:0 0 20px #888; color:#333; padding:10px; position:fixed !important; z-index:200; }
  539. .popup.topright { top:7em; right:1em; }
  540. .popup.bottomleft { bottom:1em; left:33em; }
  541. .popup .close { position:absolute; top:0.2em; right:0.2em; height:20px; width:20px; background:url('../img/actions/close.svg') no-repeat center; }
  542. .popup h2 { font-weight:bold; font-size:1.2em; }
  543. .arrow { border-bottom:10px solid white; border-left:10px solid transparent; border-right:10px solid transparent; display:block; height:0; position:absolute; width:0; z-index:201; }
  544. .arrow.left { left:-13px; bottom:1.2em; -webkit-transform:rotate(270deg); -moz-transform:rotate(270deg); -o-transform:rotate(270deg); -ms-transform:rotate(270deg); transform:rotate(270deg); }
  545. .arrow.up { top:-8px; right:2em; }
  546. .arrow.down { -webkit-transform:rotate(180deg); -moz-transform:rotate(180deg); -o-transform:rotate(180deg); -ms-transform:rotate(180deg); transform:rotate(180deg); }
  547. .help-includes {overflow: hidden; width: 100%; height: 100%; -moz-box-sizing: border-box; box-sizing: border-box; padding-top: 2.8em; }
  548. .help-iframe {width: 100%; height: 100%; margin: 0;padding: 0; border: 0; overflow: auto;}
  549. /* ---- BREADCRUMB ---- */
  550. div.crumb { float:left; display:block; background:url('../img/breadcrumb.svg') no-repeat right 0; padding:.75em 1.5em 0 1em; height:2.9em; -moz-box-sizing:border-box; box-sizing:border-box; }
  551. div.crumb:first-child { padding:10px 20px 10px 5px; }
  552. div.crumb.last { font-weight:bold; background:none; padding-right:10px; }
  553. div.crumb a{ padding: 0.9em 0 0.7em 0; }
  554. /* some feedback for hover/tap on breadcrumbs */
  555. div.crumb:hover,
  556. div.crumb:focus,
  557. div.crumb:active {
  558. -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
  559. filter:alpha(opacity=70);
  560. opacity:.7;
  561. }
  562. /* ---- APP STYLING ---- */
  563. #app {
  564. height: 100%;
  565. width: 100%;
  566. }
  567. /* Navigation: folder like structure */
  568. #app-navigation {
  569. width: 250px;
  570. height: 100%;
  571. float: left;
  572. padding-bottom: 32px;
  573. -moz-box-sizing: border-box; box-sizing: border-box;
  574. background-color: #f8f8f8;
  575. border-right: 1px solid #ccc;
  576. }
  577. #app-navigation > ul {
  578. height: 100%;
  579. overflow: auto;
  580. -moz-box-sizing: border-box; box-sizing: border-box;
  581. }
  582. #app-navigation li {
  583. position: relative;
  584. width: 100%;
  585. -moz-box-sizing: border-box; box-sizing: border-box;
  586. text-shadow: 0 1px 0 rgba(255,255,255,.9);
  587. }
  588. #app-navigation .active,
  589. #app-navigation .active a { /* active navigation entry or folder */
  590. background-color: #ddd;
  591. text-shadow: 0 1px 0 rgba(255,255,255,.7);
  592. }
  593. /* special rules for first-level entries and folders */
  594. #app-navigation > ul > li {
  595. background-color: #eee;
  596. border-top: 1px solid #fff;
  597. border-bottom: 1px solid #ddd;
  598. }
  599. #app-navigation > ul > .active {
  600. border-top: 1px solid #ccc;
  601. border-bottom: 1px solid #ccc;
  602. }
  603. #app-navigation .with-icon a {
  604. padding-left: 32px;
  605. background-size: 16px 16px; background-position: 10px center; background-repeat: no-repeat;
  606. }
  607. #app-navigation li > a {
  608. display: block;
  609. width: 100%;
  610. padding: 0 16px;
  611. overflow: hidden;
  612. -moz-box-sizing: border-box; box-sizing: border-box;
  613. line-height: 32px;
  614. white-space: nowrap;
  615. text-overflow: ellipsis;
  616. color: #333;
  617. }
  618. #app-navigation li:hover > a {
  619. background-color: #ddd;
  620. }
  621. #app-navigation > ul > li:hover {
  622. border-top: 1px solid #ccc;
  623. border-bottom: 1px solid #ccc;
  624. }
  625. #app-navigation .collapse {
  626. display: none; /* hide collapse button intially */
  627. }
  628. #app-navigation .collapsible > .collapse {
  629. position: absolute;
  630. left: 6px;
  631. top: 5px;
  632. height: 16px;
  633. width: 16px;
  634. background: none; background-image: url('../img/actions/triangle-s.svg');
  635. background-size: 16px 16px; background-repeat: no-repeat;
  636. border: none;
  637. border-radius: 0;
  638. outline: none !important;
  639. box-shadow: none;
  640. }
  641. #app-navigation .collapsible:hover > a {
  642. background-image: none;
  643. }
  644. #app-navigation .collapsible:hover > .collapse {
  645. display: block;
  646. }
  647. #app-navigation .collapsible .collapse {
  648. -moz-transform: rotate(-90deg);
  649. -webkit-transform: rotate(-90deg);
  650. -ms-transform:rotate(-90deg);
  651. -o-transform:rotate(-90deg);
  652. transform: rotate(-90deg);
  653. }
  654. #app-navigation .collapsible.open .collapse {
  655. -moz-transform: rotate(0);
  656. -webkit-transform: rotate(0);
  657. -ms-transform:rotate(0);
  658. -o-transform:rotate(0);
  659. transform: rotate(0);
  660. }
  661. /* Second level nesting for lists */
  662. #app-navigation > ul ul {
  663. display: none;
  664. }
  665. #app-navigation > ul ul li > a {
  666. padding-left: 32px;
  667. }
  668. #app-navigation > .with-icon ul li > a {
  669. padding-left: 48px;
  670. background-position: 24px center;
  671. }
  672. #app-navigation .open {
  673. background-image: linear-gradient(top, rgb(238,238,238) 0%, rgb(245,245,245) 100%);
  674. background-image: -o-linear-gradient(top, rgb(238,238,238) 0%, rgb(245,245,245) 100%);
  675. background-image: -moz-linear-gradient(top, rgb(238,238,238) 0%, rgb(245,245,245) 100%);
  676. background-image: -webkit-linear-gradient(top, rgb(238,238,238) 0%, rgb(245,245,245) 100%);
  677. background-image: -ms-linear-gradient(top, rgb(238,238,238) 0%, rgb(245,245,245) 100%);
  678. }
  679. #app-navigation > ul .open:hover {
  680. -moz-box-shadow: inset 0 0 3px #ccc; -webkit-box-shadow: inset 0 0 3px #ccc; box-shadow: inset 0 0 3px #ccc;
  681. border-top: 1px solid #ccc;
  682. }
  683. #app-navigation > ul .open ul {
  684. display: block;
  685. }
  686. /* drag and drop */
  687. #app-navigation .drag-and-drop {
  688. -moz-transition: padding-bottom 500ms ease 0s;
  689. -o-transition: padding-bottom 500ms ease 0s;
  690. -webkit-transition: padding-bottom 500ms ease 0s;
  691. -ms-transition: padding-bottom 500ms ease 0s;
  692. transition: padding-bottom 500ms ease 0s;
  693. padding-bottom: 40px;
  694. }
  695. #app-navigation .personalblock > legend { /* TODO @Raydiation: still needed? */
  696. padding: 10px 0; margin: 0;
  697. }
  698. #app-navigation .error {
  699. color: #dd1144;
  700. }
  701. /* Part where the content will be loaded into */
  702. #app-content {
  703. height: 100%;
  704. overflow-y: auto;
  705. }
  706. /* settings area */
  707. #app-settings {
  708. position: fixed;
  709. width: 249px;
  710. bottom: 0;
  711. border-top: 1px solid #ccc;
  712. }
  713. #app-settings-header {
  714. background-color: #eee;
  715. }
  716. #app-settings-content {
  717. display: none;
  718. padding: 10px;
  719. background-color: #eee;
  720. }
  721. #app-settings.open #app-settings-content {
  722. display: block;
  723. }
  724. .settings-button {
  725. display: block;
  726. height: 32px;
  727. width: 100%;
  728. padding: 0;
  729. margin: 0;
  730. background-color: transparent; background-image: url('../img/actions/settings.svg');
  731. background-position: 10px center; background-repeat: no-repeat;
  732. box-shadow: none;
  733. border: 0;
  734. border-radius: 0;
  735. }
  736. .settings-button:hover {
  737. background-color: #ddd;
  738. }
  739. /* icons */
  740. .folder-icon { background-image: url('../img/places/folder.svg'); }
  741. .delete-icon { background-image: url('../img/actions/delete.svg'); }
  742. .edit-icon { background-image: url('../img/actions/rename.svg'); }
  743. /* buttons */
  744. button.loading {
  745. background-image: url('../img/loading.gif');
  746. background-position: right 10px center; background-repeat: no-repeat;
  747. background-size: 16px;
  748. padding-right: 30px;
  749. }
  750. /* ---- BROWSER-SPECIFIC FIXES ---- */
  751. /* remove dotted outlines in Firefox */
  752. ::-moz-focus-inner {
  753. border: 0;
  754. }
  755. /* IE8 needs background to be set to same color to make transparency look good. */
  756. .lte9 #body-login form input[type="text"] {
  757. border: 1px solid lightgrey; /* use border to add 1px line between input fields */
  758. background-color: white; /* don't change background on hover */
  759. }
  760. .lte9 #body-login form input[type="password"] {
  761. /* leave out top border for 1px line between input fields*/
  762. border-left: 1px solid lightgrey;
  763. border-right: 1px solid lightgrey;
  764. border-bottom: 1px solid lightgrey;
  765. background-color: white; /* don't change background on hover */
  766. }
  767. .lte9 #body-login form label.infield {
  768. background-color: white; /* don't change background on hover */
  769. -ms-filter: "progid:DXImageTransform.Microsoft.Chroma(color='white')";
  770. }
  771. /* disable opacity of info text on gradient
  772. sice we cannot set a good backround color to use the filter&background hack as with the input labels */
  773. .lte9 #body-login p.info {
  774. filter: initial;
  775. }
  776. /* deactivate show password toggle for IE. Does not work for 8 and 9+ have their own implementation. */
  777. .ie #show, .ie #show+label {
  778. display: none;
  779. visibility: hidden;
  780. }
  781. /* fix installation screen rendering issue for IE8+9 */
  782. .lte9 #body-login {
  783. height: auto !important;
  784. }