settings.css 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805
  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. select#languageinput, select#timezone { width:15em; }
  5. input#openid, input#webdav { width:20em; }
  6. /* PERSONAL */
  7. #avatarform {
  8. width: 160px;
  9. padding-right: 0;
  10. }
  11. #avatarform .avatardiv {
  12. margin-bottom: 10px;
  13. }
  14. #avatarform .warning {
  15. width: 100%;
  16. }
  17. #uploadavatarbutton,
  18. #selectavatar,
  19. #removeavatar {
  20. width: 33px;
  21. height: 33px;
  22. }
  23. .jcrop-holder {
  24. z-index: 500;
  25. }
  26. #cropper {
  27. float: left;
  28. z-index: 500;
  29. /* float cropper above settings page to prevent unexpected flowing from dynamically sized element */
  30. position: fixed;
  31. background-color: rgba(0, 0, 0, .2);
  32. box-sizing: border-box;
  33. top: 45px;
  34. left: 0;
  35. width: 100%;
  36. height: calc(100% - 45px);
  37. }
  38. #cropper .inner-container {
  39. z-index: 2001; /* above the top bar if needed */
  40. position: absolute;
  41. top: 50%;
  42. left: 50%;
  43. transform: translate(-50%, -50%);
  44. background: #fff;
  45. color: #333;
  46. border-radius: 3px;
  47. box-shadow: 0 0 7px #888;
  48. padding: 15px;
  49. }
  50. #cropper .inner-container .jcrop-holder {
  51. box-shadow: 0 0 7px #888;
  52. }
  53. #cropper .inner-container .button {
  54. margin-top: 15px;
  55. }
  56. #cropper .inner-container .primary {
  57. float: right;
  58. }
  59. #personal-settings-avatar-container {
  60. float: left;
  61. }
  62. #personal-settings-container {
  63. position: relative;
  64. float: left;
  65. min-width: 280px;
  66. max-width: 700px;
  67. width: calc(100% - 200px);
  68. }
  69. #personal-settings-container:after {
  70. clear: both;
  71. }
  72. #personal-settings-container > div {
  73. float: left;
  74. height: 100px;
  75. min-width: 300px;
  76. }
  77. #personal-settings-container.no-edit > div {
  78. height: 20px;
  79. min-width: 200px;
  80. }
  81. #avatarform > h2,
  82. #personal-settings-container > div h2 {
  83. position: relative;
  84. }
  85. #personal-settings-container > div h2 span[class^="icon-"],
  86. #personal-settings-avatar-container h2 span[class^="icon-"] {
  87. display: inline-block;
  88. padding: 8px;
  89. margin-left: -8px;
  90. margin-bottom: -10px;
  91. background-size: 16px;
  92. opacity: .3;
  93. cursor: pointer;
  94. }
  95. .personal-settings-setting-box input[type="text"],
  96. .personal-settings-setting-box input[type="email"],
  97. .personal-settings-setting-box input[type="tel"] {
  98. width: 17em;
  99. }
  100. #personal-settings-container > div > form span[class^="icon-checkmark"] {
  101. position: absolute;
  102. left: 239px;
  103. top: 82px;
  104. pointer-events: none;
  105. }
  106. .federationScopeMenu {
  107. top: 44px;
  108. }
  109. .federationScopeMenu.bubble::after {
  110. right: 50%;
  111. transform: translate(50%, 0);
  112. }
  113. .federationScopeMenu.popovermenu a.menuitem,
  114. .federationScopeMenu.popovermenu label.menuitem,
  115. .federationScopeMenu.popovermenu .menuitem {
  116. font-size: 12.8px;
  117. line-height: 1.6em;
  118. }
  119. .federationScopeMenu.popovermenu .menuitem .menuitem-text-detail {
  120. opacity: .75;
  121. }
  122. #lostpassword,
  123. #groups,
  124. #passwordform {
  125. display: inline-block;
  126. margin-bottom: 0;
  127. padding-bottom: 0;
  128. padding-right: 0;
  129. min-width: 60%;
  130. }
  131. #avatarform,
  132. #passwordform {
  133. margin-bottom: 0;
  134. padding-bottom: 0;
  135. }
  136. #groups {
  137. overflow-wrap: break-word;
  138. max-width: 75%;
  139. display: block;;
  140. clear: both;
  141. }
  142. .clientsbox img {
  143. height: 60px;
  144. }
  145. #sslCertificate tr.expired {
  146. background-color: rgba(255, 0, 0, 0.5);
  147. }
  148. #sslCertificate td {
  149. padding: 5px;
  150. }
  151. #displaynameerror {
  152. display: none;
  153. }
  154. #displaynamechanged {
  155. display: none;
  156. }
  157. input#identity {
  158. width: 20em;
  159. }
  160. #showWizard {
  161. display: inline-block;
  162. }
  163. .msg.success {
  164. color: #fff;
  165. background-color: #47a447;
  166. padding: 3px;
  167. }
  168. .msg.error {
  169. color: #fff;
  170. background-color: #d2322d;
  171. padding: 3px;
  172. }
  173. .password-state {
  174. display: inline-block;
  175. }
  176. table.nostyle label { margin-right: 2em; }
  177. table.nostyle td { padding: 0.2em 0; }
  178. #sessions table,
  179. #apppasswords table {
  180. width: 100%;
  181. min-height: 50px;
  182. padding-top: 5px;
  183. max-width: 580px;
  184. }
  185. #sessions table th,
  186. #apppasswords table th {
  187. opacity: .5;
  188. }
  189. #sessions table th,
  190. #sessions table td,
  191. #apppasswords table th,
  192. #apppasswords table td {
  193. padding: 10px 10px 10px 0;
  194. }
  195. #sessions .token-list td.more,
  196. #apppasswords .token-list td.more {
  197. overflow: visible;
  198. position: relative;
  199. width: 16px;
  200. }
  201. #sessions .token-list td,
  202. #apppasswords .token-list td {
  203. border-top: 1px solid #DDD;
  204. text-overflow: ellipsis;
  205. max-width: 200px;
  206. white-space: nowrap;
  207. overflow: hidden;
  208. vertical-align: top;
  209. position: relative;
  210. }
  211. #sessions tr>*:nth-child(2),
  212. #apppasswords tr>*:nth-child(2) {
  213. text-align: right;
  214. }
  215. #sessions .token-list td > a.icon,
  216. #apppasswords .token-list td > a.icon {
  217. opacity: 0;
  218. transition: opacity 0.5s;
  219. }
  220. #sessions .token-list a.icon,
  221. #apppasswords .token-list a.icon {
  222. margin-top: 4px;
  223. display: block;
  224. }
  225. #sessions .token-list tr:hover td > a.icon,
  226. #apppasswords .token-list tr:hover td > a.icon,
  227. #sessions .token-list tr.active td > a.icon,
  228. #apppasswords .token-list tr.active td > a.icon{
  229. opacity: 0.6;
  230. }
  231. #sessions .token-list td div.configure,
  232. #apppasswords .token-list td div.configure {
  233. display: none;
  234. }
  235. #sessions .token-list tr.active div.configure,
  236. #apppasswords .token-list tr.active div.configure {
  237. display: block;
  238. position: absolute;
  239. top: 45px;
  240. right: -5px;
  241. padding: 10px;
  242. }
  243. #sessions .token-list tr.active div.configure > *,
  244. #apppasswords .token-list tr.active div.configure > *{
  245. margin-top: 5px;
  246. margin-bottom: 5px;
  247. display: inline-block;
  248. }
  249. #sessions .token-list tr.active a.icon-delete,
  250. #apppasswords .token-list tr.active a.icon-delete {
  251. background-position: left;
  252. padding-left: 20px;
  253. }
  254. #new-app-login-name,
  255. #new-app-password {
  256. width: 186px;
  257. font-family: monospace;
  258. background-color: lightyellow;
  259. }
  260. .app-password-row {
  261. display: table-row;
  262. }
  263. .app-password-row .icon {
  264. background-size: 16px 16px;
  265. display: inline-block;
  266. position: relative;
  267. top: 3px;
  268. margin-left: 5px;
  269. margin-right: 8px;
  270. }
  271. .app-password-label {
  272. display: table-cell;
  273. padding-right: 1em;
  274. }
  275. .social-button {
  276. padding-left: 0 !important;
  277. margin-left: -10px
  278. }
  279. .social-button img {
  280. padding: 10px;
  281. }
  282. /* USERS */
  283. #newgroup-init a span { margin-left: 20px; }
  284. #newgroup-init a span:before {
  285. position: absolute; left: 12px; top:-2px;
  286. content: '+'; font-weight: bold; font-size: 150%;
  287. }
  288. #newgroup-form {
  289. height: 44px;
  290. }
  291. #newgroupname {
  292. margin: 0;
  293. width: 100%;
  294. padding: 12px 40px 12px 12px;
  295. box-sizing: border-box;
  296. background-color: transparent;
  297. border: none;
  298. border-bottom: 1px solid #eee;
  299. border-radius: 0;
  300. }
  301. #newgroup-form .button {
  302. position: absolute;
  303. right: 0;
  304. top: 0;
  305. padding: 10px 20px;
  306. background-color: transparent;
  307. border: none;
  308. opacity: .5;
  309. }
  310. .isgroup .groupname {
  311. width: 85%;
  312. display: block;
  313. overflow: hidden;
  314. text-overflow: ellipsis;
  315. }
  316. .isgroup.active .groupname {
  317. width: 65%;
  318. }
  319. .usercount { float: left; margin: 5px; }
  320. li.active span.utils .delete {
  321. float: left; position: relative; opacity: 0.5;
  322. top: -7px; left: 7px; width: 44px; height: 44px;
  323. }
  324. li.active .rename {
  325. padding: 8px 14px 20px 14px;
  326. top: 0px; position: absolute; width: 16px; height: 16px;
  327. opacity: 0.5;
  328. display: inline-block !important;
  329. }
  330. li.active span.utils .delete img { margin: 14px; }
  331. li.active .rename { opacity: 0.5; }
  332. li.active span.utils .delete:hover, li.active .rename:hover { opacity: 1; }
  333. span.utils .delete, .rename { display: none; }
  334. #app-navigation ul li.active > span.utils .delete,
  335. #app-navigation ul li.active > span.utils .rename { display: block; }
  336. #usersearchform {
  337. position: absolute;
  338. top: 2px;
  339. right: 0;
  340. }
  341. #usersearchform input {
  342. width: 150px;
  343. }
  344. #usersearchform label { font-weight: 700; }
  345. /* display table at full width */
  346. table.grid {
  347. width: 100%;
  348. }
  349. table.grid th {
  350. height: 2em;
  351. color: #999;
  352. }
  353. table.grid th, table.grid td {
  354. border-bottom: 1px solid #eee;
  355. padding: 0 .5em;
  356. padding-left: .8em;
  357. text-align: left;
  358. font-weight: normal;
  359. }
  360. td.name, td.password { padding-left:.8em; }
  361. td.password>img,td.displayName>img, td.remove>a, td.quota>img { visibility:hidden; }
  362. td.password, td.quota, td.displayName { width:12em; cursor:pointer; }
  363. td.password>span, td.quota>span, rd.displayName>span { margin-right: 1.2em; color: #C7C7C7; }
  364. span.usersLastLoginTooltip { white-space: nowrap; }
  365. /* dropdowns will be relative to this element */
  366. #userlist {
  367. position: relative;
  368. }
  369. #userlist .mailAddress,
  370. #userlist .storageLocation,
  371. #userlist .userBackend,
  372. #userlist .lastLogin {
  373. display : none;
  374. }
  375. /* because of accessibility the name cell is <th> - therefore we enforce the black color */
  376. #userlist th.name {
  377. color: #000;
  378. }
  379. /* use same height as in files app */
  380. #userlist tr {
  381. height: 51px;
  382. }
  383. #userlist .mailAddress .loading-small {
  384. width: 16px;
  385. height: 16px;
  386. margin-left: -26px;
  387. position: relative;
  388. top: 3px;
  389. }
  390. #newuser .groups {
  391. display: inline;
  392. }
  393. #newuser .groupsListContainer.hidden,
  394. #userlist .groupsListContainer.hidden {
  395. display: none;
  396. }
  397. tr:hover>td.password>span, tr:hover>td.displayName>span { margin:0; cursor:pointer; }
  398. tr:hover>td.remove>a, tr:hover>td.password>img,tr:hover>td.displayName>img, tr:hover>td.quota>img { visibility:visible; cursor:pointer; }
  399. td.remove {
  400. width: 25px;
  401. }
  402. tr:hover>td.remove>a {
  403. float: left;
  404. }
  405. div.recoveryPassword { left:50em; display:block; position:absolute; top:-1px; }
  406. input#recoveryPassword {width:15em;}
  407. #controls select.quota {
  408. margin: 3px;
  409. margin-right: 10px;
  410. height: 37px;
  411. }
  412. select.quota-user { position:relative; left:0; top:0; width:10em; }
  413. select.quota.active { background: #fff; }
  414. input.userFilter {width: 200px;}
  415. /* positioning fixes */
  416. #newuser {
  417. padding-left: 3px;
  418. }
  419. #newuser .multiselect {
  420. min-width: 150px !important;
  421. }
  422. #newuser .multiselect,
  423. #newusergroups + input[type='submit'] {
  424. position: relative;
  425. top: -1px;
  426. }
  427. #headerGroups,
  428. #headerSubAdmins,
  429. #headerQuota {
  430. padding-left: 18px;
  431. }
  432. #headerAvatar {
  433. width: 32px;
  434. }
  435. /* used to highlight a user row in red */
  436. #userlist tr.row-warning {
  437. background-color: #FDD;
  438. }
  439. /* APPS */
  440. .appinfo { margin: 1em 40px; }
  441. #app-navigation .appwarning {
  442. background: #fcc;
  443. }
  444. #app-navigation.appwarning:hover {
  445. background: #fbb;
  446. }
  447. span.version {
  448. margin-left: 1em;
  449. margin-right: 1em;
  450. color: #555;
  451. }
  452. #app-navigation .app-external,
  453. .app-version {
  454. -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  455. filter: alpha(opacity=50);
  456. opacity: .5;
  457. }
  458. .app-level {
  459. margin-top: 8px;
  460. }
  461. .app-level span {
  462. color: #555;
  463. background-color: transparent;
  464. border: 1px solid #555;
  465. border-radius: 3px;
  466. padding: 3px 6px;
  467. }
  468. .app-level .official {
  469. border-color: #37ce02;
  470. background-position: left center;
  471. background-position: 5px center;
  472. padding-left: 25px;
  473. }
  474. .app-score {
  475. position: relative;
  476. top: 4px;
  477. }
  478. #apps-list {
  479. position: relative;
  480. height: 100%;
  481. display: flex;
  482. flex-wrap: wrap;
  483. align-content: flex-start;
  484. }
  485. #apps-list .section {
  486. position: relative;
  487. flex: 1 0 330px;
  488. margin: 0;
  489. padding-right: 50px;
  490. }
  491. #apps-list .section.apps-experimental {
  492. flex-basis: 90%;
  493. }
  494. .section h2.app-name {
  495. margin-bottom: 8px;
  496. display: inline;
  497. }
  498. .followupsection {
  499. display: block;
  500. padding: 0 30px 30px 30px;
  501. color: #555;
  502. margin-bottom: 24px;
  503. margin-top: -30px;
  504. position: relative;
  505. }
  506. .app-image {
  507. float: left;
  508. padding-right: 10px;
  509. width: 80px;
  510. height: 80px;
  511. opacity: 0.8;
  512. }
  513. .app-name,
  514. .app-version,
  515. .app-score,
  516. .app-level {
  517. display: inline-block;
  518. }
  519. .app-description-toggle-show,
  520. .app-description-toggle-hide {
  521. clear: both;
  522. padding: 7px 0;
  523. cursor: pointer;
  524. -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  525. opacity: .5;
  526. }
  527. .app-description-container {
  528. clear: both;
  529. position: relative;
  530. top: 7px;
  531. }
  532. .app-description {
  533. clear: both;
  534. }
  535. .app-description pre {
  536. white-space: pre-line;
  537. }
  538. #app-category-1 {
  539. margin-bottom: 18px;
  540. }
  541. /* capitalize "Other" category */
  542. #app-category-925 {
  543. text-transform: capitalize;
  544. }
  545. .app-dependencies {
  546. color: #ce3702;
  547. }
  548. .missing-dependencies {
  549. list-style: initial;
  550. list-style-type: initial;
  551. list-style-position: inside;
  552. }
  553. /* Transition to complete width! */
  554. .app:hover, .app:active { max-width: inherit; }
  555. .appslink { text-decoration: underline; }
  556. .score { color:#666; font-weight:bold; font-size:0.8em; }
  557. .appinfo .documentation {
  558. margin-top: 1em;
  559. margin-bottom: 1em;
  560. }
  561. /* LOG */
  562. #log {
  563. white-space:normal;
  564. margin-bottom: 14px;
  565. }
  566. #lessLog { display:none; }
  567. table.grid td.date{
  568. white-space: nowrap;
  569. }
  570. #log-section p {
  571. margin-top:20px;
  572. }
  573. /* ADMIN */
  574. #security-warning li {
  575. list-style: initial;
  576. margin: 10px 0;
  577. }
  578. #security-warning-state span {
  579. padding-left: 25px;
  580. background-position: 5px center;
  581. margin-left: -5px;
  582. }
  583. #shareAPI p { padding-bottom: 0.8em; }
  584. #shareAPI input#shareapiExpireAfterNDays {width: 25px;}
  585. #shareAPI .indent {
  586. padding-left: 28px;
  587. }
  588. #shareAPI .double-indent {
  589. padding-left: 56px;
  590. }
  591. #fileSharingSettings h3 {
  592. display: inline-block;
  593. }
  594. #publicShareDisclaimerText {
  595. width: calc(100% - 23px); /* 20 px left margin, 3 px right margin */
  596. max-width: 600px;
  597. height: 150px;
  598. margin-left: 20px;
  599. box-sizing: border-box;
  600. }
  601. /* correctly display help icons next to headings */
  602. .icon-info {
  603. padding: 11px 20px;
  604. vertical-align: text-bottom;
  605. }
  606. #shareAPI h2,
  607. #encryptionAPI h2,
  608. #mail_general_settings h2 {
  609. display: inline-block;
  610. }
  611. #encryptionAPI li {
  612. list-style-type: initial;
  613. margin-left: 20px;
  614. padding: 5px 0;
  615. }
  616. .mail_settings p label:first-child {
  617. display: inline-block;
  618. width: 300px;
  619. text-align: right;
  620. }
  621. .mail_settings p select:nth-child(2) {
  622. width: 143px;
  623. }
  624. #mail_smtpport {
  625. width: 40px;
  626. }
  627. .cronlog {
  628. margin-left: 10px;
  629. }
  630. .status {
  631. display: inline-block;
  632. height: 16px;
  633. width: 16px;
  634. vertical-align: text-bottom;
  635. }
  636. .status.success {
  637. border-radius: 50%;
  638. }
  639. #selectGroups select {
  640. -moz-box-sizing: border-box;
  641. -webkit-box-sizing: border-box;
  642. box-sizing: border-box;
  643. display: inline-block;
  644. height: 36px;
  645. padding: 7px 10px
  646. }
  647. #log .log-message {
  648. word-break: break-all;
  649. min-width: 180px;
  650. }
  651. span.success {
  652. background: #37ce02;
  653. border-radius: 3px;
  654. }
  655. span.error {
  656. background: #ce3702;
  657. }
  658. span.indeterminate {
  659. background: #e6db00;
  660. border-radius: 40% 0;
  661. }
  662. /* PASSWORD */
  663. #passwordform .strengthify-wrapper {
  664. position: absolute;
  665. left: 186px;
  666. width: 131px;
  667. margin-top: -7px;
  668. }
  669. /* OPERA hack for strengthify*/
  670. doesnotexist:-o-prefocus, .strengthify-wrapper {
  671. left: 185px;
  672. width: 129px;
  673. }
  674. .trusted-domain-warning {
  675. color: #fff;
  676. padding: 5px;
  677. background: #ce3702;
  678. border-radius: 5px;
  679. font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
  680. }
  681. /* HELP */
  682. .help-includes {
  683. overflow: hidden !important;
  684. }
  685. .help-iframe {
  686. width: 100%;
  687. height: 100%;
  688. margin: 0;
  689. padding: 0;
  690. border: 0;
  691. overflow: auto;
  692. }
  693. #postsetupchecks .loading {
  694. height: 50px;
  695. background-position: left center;
  696. }
  697. #postsetupchecks .errors,
  698. #postsetupchecks .warnings,
  699. #security-warning > ul {
  700. color: #ce3702;
  701. }
  702. #admin-tips li {
  703. list-style: initial;
  704. }
  705. #admin-tips li a {
  706. display: inline-block;
  707. padding: 3px 0;
  708. }
  709. #selectEncryptionModules {
  710. margin-left: 30px;
  711. padding: 10px;
  712. }
  713. #encryptionModules {
  714. padding: 10px;
  715. }
  716. #warning {
  717. color: red;
  718. }