layouts.css 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931
  1. * {
  2. -webkit-box-sizing: unset;
  3. box-sizing: unset;
  4. }
  5. /* Fixed missing 'import nib' stylesheet reset and extra li bullet points
  6. * https://github.com/wekan/wekan/issues/4512#issuecomment-1129347536
  7. */
  8. a, abbr, acronym, address, applet, big, blockquote, body, caption, cite,
  9. code, dd, del, dfn, div, dl, dt, em, fieldset, form, h1, h2, h3, h4, h5,
  10. h6, html, iframe, img, ins, kbd, label, legend, li, object, ol, p, pre,
  11. q, s, samp, small, span, strike, strong, sub, sup,
  12. table, tbody, td, tfoot, th, thread, tr, tt, ul, var {
  13. margin: 0;
  14. padding: 0;
  15. outline: 0;
  16. font-weight: inherit;
  17. font-style: inherit;
  18. font-family: inherit;
  19. font-size: 100%;
  20. vertical-align: baseline;
  21. }
  22. .note-popover .popover-content .note-color-palette div .note-color-btn,
  23. .panel-heading.note-toolbar .note-color-palette div .note-color-btn {
  24. background: none;
  25. }
  26. a:focus {
  27. outline: unset;
  28. outline-offset: unset;
  29. }
  30. a:hover,
  31. a:focus {
  32. color: unset;
  33. text-decoration: unset;
  34. }
  35. .badge {
  36. display: unset;
  37. min-width: unset;
  38. padding: unset;
  39. font-size: unset;
  40. font-weight: unset;
  41. line-height: unset;
  42. color: unset;
  43. text-align: unset;
  44. white-space: unset;
  45. vertical-align: unset;
  46. background-color: unset;
  47. border-radius: unset;
  48. }
  49. html,
  50. body,
  51. input,
  52. select,
  53. textarea,
  54. button {
  55. font: clamp(14px, 2.5vw, 18px) Roboto, Poppins, "Helvetica Neue", Arial, Helvetica, sans-serif;
  56. line-height: 1.4;
  57. color: #4d4d4d;
  58. /* Improve text rendering */
  59. -webkit-font-smoothing: antialiased;
  60. -moz-osx-font-smoothing: grayscale;
  61. /* Better text selection */
  62. -webkit-user-select: text;
  63. user-select: text;
  64. }
  65. html {
  66. font-size: 100%;
  67. max-height: 100%;
  68. -webkit-user-select: text;
  69. user-select: text;
  70. -webkit-text-size-adjust: 100%;
  71. text-size-adjust: 100%;
  72. }
  73. body {
  74. background: #dedede;
  75. margin: 0;
  76. position: relative;
  77. z-index: 0;
  78. overflow-y: auto;
  79. display: flex;
  80. flex-direction: column;
  81. height: 100vh;
  82. }
  83. #content {
  84. position: relative;
  85. flex: 1;
  86. overflow-x: hidden;
  87. }
  88. #content .sk-spinner {
  89. margin-top: 30vh;
  90. }
  91. #content > .wrapper {
  92. margin-top: 1vh;
  93. padding: 2vh 2vw;
  94. }
  95. #modal {
  96. position: absolute;
  97. top: 0;
  98. bottom: 0;
  99. left: 0;
  100. right: 0;
  101. background: rgba(0,0,0,0.6);
  102. z-index: 100;
  103. overflow-y: auto;
  104. }
  105. #modal .modal-content {
  106. width: min(500px, 90vw);
  107. min-height: 20vh;
  108. margin: 5vh auto;
  109. padding: 2vh 2vw;
  110. border-radius: 0.5vw;
  111. background: #dedede;
  112. z-index: 110;
  113. }
  114. #modal .modal-content h2 {
  115. margin-bottom: 3vh;
  116. }
  117. #modal .modal-content .modal-close-btn {
  118. display: block;
  119. float: right;
  120. font-size: clamp(18px, 4vw, 24px);
  121. }
  122. #modal .modal-content-wide {
  123. width: min(800px, 95vw);
  124. min-height: 0px;
  125. margin: 5vh auto;
  126. padding: 2vh 2vw;
  127. border-radius: 0.5vw;
  128. background: #dedede;
  129. z-index: 110;
  130. }
  131. #modal .modal-content-wide h2 {
  132. margin-bottom: 3vh;
  133. }
  134. #modal .modal-content-wide .modal-close-btn {
  135. display: block;
  136. float: right;
  137. font-size: clamp(18px, 4vw, 24px);
  138. }
  139. h1 {
  140. font-size: clamp(18px, 4vw, 24px);
  141. line-height: 1.2em;
  142. margin: 0 0 1vh;
  143. }
  144. h2 {
  145. font-size: clamp(16px, 3.5vw, 20px);
  146. line-height: 1.2em;
  147. margin: 0 0 0.8vh;
  148. }
  149. h3,
  150. h4,
  151. h5,
  152. h6 {
  153. font-size: clamp(14px, 3vw, 18px);
  154. line-height: 1.25em;
  155. margin: 0 0 0.6vh;
  156. }
  157. .quiet,
  158. .quiet a {
  159. color: #8c8c8c;
  160. }
  161. .error,
  162. .error a {
  163. color: #eb3800;
  164. }
  165. .no-items-message {
  166. color: #666;
  167. margin: 4vh 0;
  168. text-align: center;
  169. }
  170. .warning {
  171. background: #f0ecdb;
  172. border-radius: 0.4vw;
  173. color: #aa8f09;
  174. padding: 1vh 1.2vw;
  175. }
  176. .warning a {
  177. color: #aa8f09;
  178. }
  179. .small {
  180. font-size: 0.8em;
  181. }
  182. a {
  183. color: inherit;
  184. cursor: pointer;
  185. text-decoration: none;
  186. }
  187. a.is-disabled,
  188. a.is-disabled:hover {
  189. cursor: default;
  190. text-decoration: none;
  191. }
  192. span a {
  193. text-decoration: underline;
  194. }
  195. strong {
  196. font-weight: bold;
  197. }
  198. p {
  199. -webkit-user-select: text;
  200. user-select: text;
  201. }
  202. p a {
  203. text-decoration: underline;
  204. word-wrap: break-word;
  205. }
  206. table,
  207. p {
  208. margin-bottom: 1vh;
  209. }
  210. pre {
  211. margin: 2vh 0;
  212. white-space: pre;
  213. max-height: 60vh;
  214. }
  215. pre,
  216. code,
  217. tt {
  218. font-family: lucida console, monospace;
  219. line-height: 1.3em;
  220. }
  221. blockquote {
  222. margin: 1vh 0 1vh 1vw;
  223. border-left: 1px solid #ccc;
  224. color: #666;
  225. padding: 0 0 0 1vw;
  226. }
  227. hr {
  228. height: 1px;
  229. border: 0;
  230. border: none;
  231. width: 100%;
  232. background: #dbdbdb;
  233. color: #dbdbdb;
  234. margin: 2vh 0;
  235. padding: 0;
  236. }
  237. table,
  238. td,
  239. th {
  240. vertical-align: top;
  241. border-top: 1px solid #ccc;
  242. border-left: 1px solid #ccc;
  243. }
  244. td,
  245. th {
  246. padding: 0.8vh 0.8vw;
  247. border-right: 1px solid #ccc;
  248. border-bottom: 1px solid #ccc;
  249. }
  250. th {
  251. font-weight: 700;
  252. }
  253. thead {
  254. background: #fff;
  255. background: linear-gradient(to bottom, #fff 0, #f0f0f0 100%);
  256. }
  257. tbody {
  258. background-color: #fff;
  259. }
  260. dl,
  261. dt {
  262. margin-bottom: 1vh;
  263. }
  264. dd {
  265. margin: 0 0 2vh 3vw;
  266. }
  267. kbd {
  268. padding: 0.2vh 0.5vw;
  269. margin: 0.5vh;
  270. font-weight: bold;
  271. background: #fafafa;
  272. border-radius: 0.4vw;
  273. border: 1px solid #e6e6e6;
  274. color: unset;
  275. box-shadow: 0px 0.3vh 0.5vh rgba(0,0,0,0.15);
  276. }
  277. .clear {
  278. clear: both;
  279. }
  280. .hide {
  281. display: none;
  282. }
  283. .show {
  284. display: block;
  285. }
  286. .bold {
  287. font-weight: 700;
  288. }
  289. .center {
  290. text-align: center;
  291. }
  292. .left {
  293. float: left;
  294. }
  295. .right {
  296. float: right;
  297. }
  298. .first {
  299. margin-left: 0;
  300. padding-left: 0;
  301. }
  302. .last {
  303. margin-right: 0;
  304. padding-right: 0;
  305. }
  306. .top {
  307. margin-top: 0;
  308. padding-top: 0;
  309. }
  310. .bottom {
  311. margin-bottom: 0;
  312. padding-bottom: 0;
  313. }
  314. .wrapper {
  315. width: calc(100% - 2vw);
  316. margin: 0 auto;
  317. }
  318. .relative {
  319. position: relative;
  320. }
  321. .block {
  322. display: block;
  323. }
  324. .inline {
  325. display: inline;
  326. }
  327. .inline-block {
  328. display: inline-block;
  329. }
  330. .pointer {
  331. cursor: pointer;
  332. }
  333. .ellip {
  334. overflow: hidden;
  335. text-overflow: ellipsis;
  336. white-space: nowrap;
  337. }
  338. .underline {
  339. text-decoration: underline;
  340. }
  341. .lowercase {
  342. text-transform: lowercase;
  343. }
  344. .invisible {
  345. visibility: hidden;
  346. }
  347. .wrapword {
  348. word-wrap: break-word;
  349. }
  350. .grab {
  351. cursor: grab;
  352. }
  353. .grabbing {
  354. cursor: grabbing;
  355. }
  356. .textcomplete-dropdown {
  357. z-index: 2000 !important;
  358. }
  359. .fa.fa-times-thin:before {
  360. content: '\00d7';
  361. }
  362. .fa.fa-globe.colorful,
  363. .fa.fa-bell.colorful {
  364. color: #4caf50;
  365. }
  366. .fa.fa-lock.colorful,
  367. .fa.fa-bell-slash.colorful {
  368. color: #f44336;
  369. }
  370. .fa.fa-eye.colorful {
  371. color: #4336f4;
  372. }
  373. .pop-over .pop-over-list li a:not(.disabled):hover .fa,
  374. .pop-over .pop-over-list li a:not(.disabled):hover .fa.colorful {
  375. color: #fff;
  376. }
  377. .pop-over .pop-over-list li a:not(.disabled):hover .fa:hover,
  378. .pop-over .pop-over-list li a:not(.disabled):hover .fa.colorful:hover {
  379. color: #fff;
  380. }
  381. a.fa,
  382. a i.fa {
  383. color: #a6a6a6;
  384. }
  385. a:not(.disabled):hover.fa,
  386. a:not(.disabled).is-active.fa,
  387. a:not(.disabled):hover i.fa,
  388. a:not(.disabled).is-active i.fa {
  389. color: #666;
  390. }
  391. .ui-draggable-dragging {
  392. z-index: 200;
  393. }
  394. .atMention {
  395. background: #dbdbdb;
  396. border-radius: 3px;
  397. padding: 1px 4px;
  398. margin: -1px 0;
  399. display: inline-block;
  400. }
  401. .atMention.me {
  402. background: #cfdfe8;
  403. }
  404. .big-message {
  405. display: block;
  406. margin: 10vh auto;
  407. text-align: center;
  408. max-width: min(600px, 90vw);
  409. }
  410. .big-message h1 {
  411. font-size: clamp(20px, 5vw, 28px);
  412. margin-bottom: 3vh;
  413. }
  414. .big-message p {
  415. font-size: clamp(16px, 3.5vw, 20px);
  416. line-height: 1.3;
  417. }
  418. .gutter {
  419. margin-left: 5vw;
  420. }
  421. .viewer {
  422. min-height: 2.5vh;
  423. display: block;
  424. word-wrap: break-word;
  425. }
  426. .viewer table {
  427. word-wrap: normal;
  428. word-break: normal;
  429. }
  430. .viewer ol {
  431. list-style-type: decimal;
  432. padding-left: 3vw;
  433. padding-bottom: 1.5vh;
  434. }
  435. .viewer ul {
  436. list-style-type: initial;
  437. padding-left: 3vw;
  438. padding-bottom: 1.5vh;
  439. }
  440. .viewer em {
  441. font-style: italic;
  442. }
  443. .viewer pre,
  444. .viewer code {
  445. padding: 10px 12px 7px;
  446. background: #dedede;
  447. overflow-y: auto;
  448. }
  449. .viewer a {
  450. text-decoration: underline;
  451. }
  452. .viewer a:hover {
  453. color: #333;
  454. }
  455. .basicTabs-container .tabs-content-container {
  456. padding: 0;
  457. padding-top: 15px;
  458. }
  459. .no-scrollbars {
  460. scrollbar-width: none;
  461. }
  462. .no-scrollbars::-webkit-scrollbar {
  463. display: none !important;
  464. }
  465. /* ========================================
  466. MOBILE & TABLET RESPONSIVE IMPROVEMENTS
  467. ======================================== */
  468. /* Mobile devices (up to 800px) */
  469. @media screen and (max-width: 800px) {
  470. #content {
  471. margin: 1px 0px 0px 0px;
  472. height: calc(100% - 0px);
  473. /* Improve touch scrolling */
  474. -webkit-overflow-scrolling: touch;
  475. }
  476. #content > .wrapper {
  477. margin-top: 0px;
  478. padding: 8px;
  479. }
  480. .wrapper {
  481. height: calc(100% - 31px);
  482. margin: 0px;
  483. padding: 8px;
  484. }
  485. .panel-default {
  486. width: 95vw;
  487. max-width: 95vw;
  488. margin: 0 auto;
  489. }
  490. /* Improve touch targets */
  491. button, .btn, .js-toggle, .js-color-choice, .js-reaction, .close {
  492. min-height: 44px;
  493. min-width: 44px;
  494. padding: 12px 16px;
  495. font-size: 16px; /* Prevent zoom on iOS */
  496. touch-action: manipulation;
  497. }
  498. /* Form elements */
  499. input, select, textarea {
  500. font-size: 16px; /* Prevent zoom on iOS */
  501. padding: 12px;
  502. min-height: 44px;
  503. touch-action: manipulation;
  504. }
  505. /* Cards and lists */
  506. .minicard {
  507. min-height: 48px;
  508. padding: 12px;
  509. margin-bottom: 8px;
  510. touch-action: manipulation;
  511. }
  512. .list {
  513. margin: 0 8px;
  514. min-width: 280px;
  515. }
  516. /* Board canvas */
  517. .board-canvas {
  518. padding: 8px;
  519. overflow-x: auto;
  520. -webkit-overflow-scrolling: touch;
  521. }
  522. /* Header mobile layout */
  523. #header {
  524. padding: 8px;
  525. /* Keep top bar on a single row on small screens */
  526. flex-wrap: nowrap;
  527. align-items: center;
  528. gap: 8px;
  529. }
  530. #header-quick-access {
  531. /* Keep quick-access items in one row */
  532. display: flex;
  533. flex-direction: row;
  534. align-items: center;
  535. gap: 8px;
  536. width: 100%;
  537. }
  538. /* Hide elements that should move to the hamburger menu on mobile */
  539. #header-quick-access .header-quick-access-list,
  540. #header-quick-access #header-help {
  541. display: none !important;
  542. }
  543. /* Show only the home icon (hide the trailing text) on mobile */
  544. #header-quick-access .home-icon a {
  545. display: inline-flex;
  546. align-items: center;
  547. max-width: 28px; /* enough to display the icon */
  548. overflow: hidden;
  549. white-space: nowrap;
  550. }
  551. /* Hide text in home icon on mobile, show only icon */
  552. #header-quick-access .home-icon a span:not(.fa) {
  553. display: none !important;
  554. }
  555. /* Ensure proper spacing for mobile header elements */
  556. #header-quick-access .zoom-controls {
  557. margin-left: auto;
  558. margin-right: 8px;
  559. }
  560. .mobile-mode-toggle {
  561. margin-right: 8px;
  562. }
  563. #header-user-bar {
  564. margin-left: auto;
  565. }
  566. /* Ensure header elements don't wrap on very small screens */
  567. #header-quick-access {
  568. min-width: 0; /* Allow flexbox to shrink */
  569. }
  570. /* Make sure logo doesn't take too much space on mobile */
  571. #header-quick-access img {
  572. max-height: 24px;
  573. max-width: 120px;
  574. }
  575. /* Ensure zoom controls are compact on mobile */
  576. .zoom-controls .zoom-level {
  577. padding: 4px 8px;
  578. font-size: 12px;
  579. }
  580. /* Modal mobile optimization */
  581. #modal .modal-content,
  582. #modal .modal-content-wide {
  583. width: 95vw;
  584. max-width: 95vw;
  585. margin: 2vh auto;
  586. padding: 16px;
  587. max-height: 90vh;
  588. overflow-y: auto;
  589. }
  590. /* Table mobile optimization */
  591. table {
  592. font-size: 14px;
  593. width: 100%;
  594. display: block;
  595. overflow-x: auto;
  596. white-space: nowrap;
  597. -webkit-overflow-scrolling: touch;
  598. }
  599. /* Admin panel mobile optimization */
  600. .setting-content .content-body {
  601. flex-direction: column;
  602. gap: 16px;
  603. padding: 8px;
  604. }
  605. .setting-content .content-body .side-menu {
  606. width: 100%;
  607. order: 2;
  608. }
  609. .setting-content .content-body .main-body {
  610. order: 1;
  611. min-height: 60vh;
  612. overflow-x: auto;
  613. -webkit-overflow-scrolling: touch;
  614. }
  615. }
  616. /* Tablet devices (768px - 1024px) */
  617. @media screen and (min-width: 768px) and (max-width: 1024px) {
  618. #content > .wrapper {
  619. padding: 12px;
  620. }
  621. .wrapper {
  622. padding: 12px;
  623. }
  624. .panel-default {
  625. width: 90vw;
  626. max-width: 90vw;
  627. }
  628. /* Touch-friendly but more compact */
  629. button, .btn, .js-toggle, .js-color-choice, .js-reaction, .close {
  630. min-height: 48px;
  631. min-width: 48px;
  632. padding: 10px 14px;
  633. }
  634. .minicard {
  635. min-height: 40px;
  636. padding: 10px;
  637. }
  638. .list {
  639. margin: 0 12px;
  640. min-width: 300px;
  641. }
  642. .board-canvas {
  643. padding: 12px;
  644. }
  645. #header {
  646. padding: 12px 16px;
  647. }
  648. #modal .modal-content {
  649. width: 80vw;
  650. max-width: 600px;
  651. }
  652. #modal .modal-content-wide {
  653. width: 90vw;
  654. max-width: 800px;
  655. }
  656. .setting-content .content-body {
  657. gap: 20px;
  658. }
  659. .setting-content .content-body .side-menu {
  660. width: 250px;
  661. }
  662. }
  663. /* Large displays and digital signage (1920px+) */
  664. @media screen and (min-width: 1920px) {
  665. body {
  666. font-size: 18px;
  667. }
  668. button, .btn, .js-toggle, .js-color-choice, .js-reaction, .close {
  669. min-height: 56px;
  670. min-width: 56px;
  671. padding: 16px 20px;
  672. font-size: 18px;
  673. }
  674. .minicard {
  675. min-height: 56px;
  676. padding: 16px;
  677. font-size: 18px;
  678. }
  679. .list {
  680. margin: 0 8px;
  681. min-width: 360px;
  682. }
  683. .board-canvas {
  684. padding: 0;
  685. }
  686. #header {
  687. padding: 0 8px;
  688. }
  689. #content > .wrapper {
  690. padding: 0;
  691. }
  692. #modal .modal-content {
  693. width: 600px;
  694. }
  695. #modal .modal-content-wide {
  696. width: 1000px;
  697. }
  698. .setting-content .content-body {
  699. gap: 32px;
  700. }
  701. .setting-content .content-body .side-menu {
  702. width: 320px;
  703. }
  704. }
  705. .inline-input {
  706. height: 37px;
  707. margin: 8px 10px 0 0;
  708. width: 50px;
  709. }
  710. .select-authentication {
  711. width: 100%;
  712. }
  713. .textBelowCustomLoginLogo,
  714. .auth-layout {
  715. display: flex;
  716. flex-direction: column;
  717. align-items: center;
  718. justify-content: center;
  719. }
  720. .auth-layout .auth-dialog {
  721. margin: 0 !important;
  722. }
  723. .loadingText {
  724. text-align: center;
  725. }
  726. .lds-roller {
  727. display: block;
  728. margin: auto;
  729. position: relative;
  730. width: 64px;
  731. height: 64px;
  732. }
  733. .lds-roller div {
  734. animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  735. transform-origin: 32px 32px;
  736. }
  737. .lds-roller div:after {
  738. content: " ";
  739. display: block;
  740. position: absolute;
  741. width: 6px;
  742. height: 6px;
  743. border-radius: 50%;
  744. background: #dedede;
  745. margin: -3px 0 0 -3px;
  746. }
  747. .lds-roller div:nth-child(1) {
  748. animation-delay: -0.036s;
  749. }
  750. .lds-roller div:nth-child(1):after {
  751. top: 50px;
  752. left: 50px;
  753. }
  754. .lds-roller div:nth-child(2) {
  755. animation-delay: -0.072s;
  756. }
  757. .lds-roller div:nth-child(2):after {
  758. top: 54px;
  759. left: 45px;
  760. }
  761. .lds-roller div:nth-child(3) {
  762. animation-delay: -0.108s;
  763. }
  764. .lds-roller div:nth-child(3):after {
  765. top: 57px;
  766. left: 39px;
  767. }
  768. .lds-roller div:nth-child(4) {
  769. animation-delay: -0.144s;
  770. }
  771. .lds-roller div:nth-child(4):after {
  772. top: 58px;
  773. left: 32px;
  774. }
  775. .lds-roller div:nth-child(5) {
  776. animation-delay: -0.18s;
  777. }
  778. .lds-roller div:nth-child(5):after {
  779. top: 57px;
  780. left: 25px;
  781. }
  782. .lds-roller div:nth-child(6) {
  783. animation-delay: -0.216s;
  784. }
  785. .lds-roller div:nth-child(6):after {
  786. top: 54px;
  787. left: 19px;
  788. }
  789. .lds-roller div:nth-child(7) {
  790. animation-delay: -0.252s;
  791. }
  792. .lds-roller div:nth-child(7):after {
  793. top: 50px;
  794. left: 14px;
  795. }
  796. .lds-roller div:nth-child(8) {
  797. animation-delay: -0.288s;
  798. }
  799. .lds-roller div:nth-child(8):after {
  800. top: 45px;
  801. left: 10px;
  802. }
  803. .at-link {
  804. color: #17683a;
  805. text-decoration: underline;
  806. text-decoration-color: #17683a;
  807. }
  808. .at-pwd-form, .at-sep, .at-oauth {
  809. display: none;
  810. }
  811. @-moz-keyframes fadeIn {
  812. from {
  813. opacity: 0;
  814. }
  815. }
  816. @-webkit-keyframes fadeIn {
  817. from {
  818. opacity: 0;
  819. }
  820. }
  821. @-o-keyframes fadeIn {
  822. from {
  823. opacity: 0;
  824. }
  825. }
  826. @keyframes fadeIn {
  827. from {
  828. opacity: 0;
  829. }
  830. }
  831. @-moz-keyframes flexGrowIn {
  832. from {
  833. height: 100%;
  834. }
  835. }
  836. @-webkit-keyframes flexGrowIn {
  837. from {
  838. height: 100%;
  839. }
  840. }
  841. @-o-keyframes flexGrowIn {
  842. from {
  843. height: 100%;
  844. }
  845. }
  846. @keyframes flexGrowIn {
  847. from {
  848. height: 100%;
  849. }
  850. }
  851. @-moz-keyframes lds-roller {
  852. 0% {
  853. transform: rotate(0deg);
  854. }
  855. 100% {
  856. transform: rotate(360deg);
  857. }
  858. }
  859. @-webkit-keyframes lds-roller {
  860. 0% {
  861. transform: rotate(0deg);
  862. }
  863. 100% {
  864. transform: rotate(360deg);
  865. }
  866. }
  867. @-o-keyframes lds-roller {
  868. 0% {
  869. transform: rotate(0deg);
  870. }
  871. 100% {
  872. transform: rotate(360deg);
  873. }
  874. }
  875. @keyframes lds-roller {
  876. 0% {
  877. transform: rotate(0deg);
  878. }
  879. 100% {
  880. transform: rotate(360deg);
  881. }
  882. }