The code powering m.abunchtell.com https://m.abunchtell.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

5541 lines
94 KiB

  1. .app-body {
  2. -webkit-overflow-scrolling: touch;
  3. -ms-overflow-style: -ms-autohiding-scrollbar;
  4. }
  5. .button {
  6. background-color: $ui-highlight-color;
  7. border: 10px none;
  8. border-radius: 4px;
  9. box-sizing: border-box;
  10. color: $primary-text-color;
  11. cursor: pointer;
  12. display: inline-block;
  13. font-family: inherit;
  14. font-size: 14px;
  15. font-weight: 500;
  16. height: 36px;
  17. letter-spacing: 0;
  18. line-height: 36px;
  19. overflow: hidden;
  20. padding: 0 16px;
  21. position: relative;
  22. text-align: center;
  23. text-transform: uppercase;
  24. text-decoration: none;
  25. text-overflow: ellipsis;
  26. transition: all 100ms ease-in;
  27. white-space: nowrap;
  28. width: auto;
  29. &:active,
  30. &:focus,
  31. &:hover {
  32. background-color: lighten($ui-highlight-color, 10%);
  33. transition: all 200ms ease-out;
  34. }
  35. &--destructive {
  36. transition: none;
  37. &:active,
  38. &:focus,
  39. &:hover {
  40. background-color: $error-red;
  41. transition: none;
  42. }
  43. }
  44. &:disabled {
  45. background-color: $ui-primary-color;
  46. cursor: default;
  47. }
  48. &::-moz-focus-inner {
  49. border: 0;
  50. }
  51. &::-moz-focus-inner,
  52. &:focus,
  53. &:active {
  54. outline: 0 !important;
  55. }
  56. &.button-primary,
  57. &.button-alternative,
  58. &.button-secondary,
  59. &.button-alternative-2 {
  60. font-size: 16px;
  61. line-height: 36px;
  62. height: auto;
  63. text-transform: none;
  64. padding: 4px 16px;
  65. }
  66. &.button-alternative {
  67. color: $inverted-text-color;
  68. background: $ui-primary-color;
  69. &:active,
  70. &:focus,
  71. &:hover {
  72. background-color: lighten($ui-primary-color, 4%);
  73. }
  74. }
  75. &.button-alternative-2 {
  76. background: $ui-base-lighter-color;
  77. &:active,
  78. &:focus,
  79. &:hover {
  80. background-color: lighten($ui-base-lighter-color, 4%);
  81. }
  82. }
  83. &.button-secondary {
  84. color: $darker-text-color;
  85. background: transparent;
  86. padding: 3px 15px;
  87. border: 1px solid $ui-primary-color;
  88. &:active,
  89. &:focus,
  90. &:hover {
  91. border-color: lighten($ui-primary-color, 4%);
  92. color: lighten($darker-text-color, 4%);
  93. }
  94. }
  95. &.button--block {
  96. display: block;
  97. width: 100%;
  98. }
  99. }
  100. .column__wrapper {
  101. display: flex;
  102. flex: 1 1 auto;
  103. position: relative;
  104. }
  105. .icon-button {
  106. display: inline-block;
  107. padding: 0;
  108. color: $action-button-color;
  109. border: none;
  110. background: transparent;
  111. cursor: pointer;
  112. transition: color 100ms ease-in;
  113. &:hover,
  114. &:active,
  115. &:focus {
  116. color: lighten($action-button-color, 7%);
  117. transition: color 200ms ease-out;
  118. }
  119. &.disabled {
  120. color: darken($action-button-color, 13%);
  121. cursor: default;
  122. }
  123. &.active {
  124. color: $highlight-text-color;
  125. }
  126. &::-moz-focus-inner {
  127. border: 0;
  128. }
  129. &::-moz-focus-inner,
  130. &:focus,
  131. &:active {
  132. outline: 0 !important;
  133. }
  134. &.inverted {
  135. color: $lighter-text-color;
  136. &:hover,
  137. &:active,
  138. &:focus {
  139. color: darken($lighter-text-color, 7%);
  140. }
  141. &.disabled {
  142. color: lighten($lighter-text-color, 7%);
  143. }
  144. &.active {
  145. color: $highlight-text-color;
  146. &.disabled {
  147. color: lighten($highlight-text-color, 13%);
  148. }
  149. }
  150. }
  151. &.overlayed {
  152. box-sizing: content-box;
  153. background: rgba($base-overlay-background, 0.6);
  154. color: rgba($primary-text-color, 0.7);
  155. border-radius: 4px;
  156. padding: 2px;
  157. &:hover {
  158. background: rgba($base-overlay-background, 0.9);
  159. }
  160. }
  161. }
  162. .text-icon-button {
  163. color: $lighter-text-color;
  164. border: none;
  165. background: transparent;
  166. cursor: pointer;
  167. font-weight: 600;
  168. font-size: 11px;
  169. padding: 0 3px;
  170. line-height: 27px;
  171. outline: 0;
  172. transition: color 100ms ease-in;
  173. &:hover,
  174. &:active,
  175. &:focus {
  176. color: darken($lighter-text-color, 7%);
  177. transition: color 200ms ease-out;
  178. }
  179. &.disabled {
  180. color: lighten($lighter-text-color, 20%);
  181. cursor: default;
  182. }
  183. &.active {
  184. color: $highlight-text-color;
  185. }
  186. &::-moz-focus-inner {
  187. border: 0;
  188. }
  189. &::-moz-focus-inner,
  190. &:focus,
  191. &:active {
  192. outline: 0 !important;
  193. }
  194. }
  195. .dropdown-menu {
  196. position: absolute;
  197. }
  198. .invisible {
  199. font-size: 0;
  200. line-height: 0;
  201. display: inline-block;
  202. width: 0;
  203. height: 0;
  204. position: absolute;
  205. img,
  206. svg {
  207. margin: 0 !important;
  208. border: 0 !important;
  209. padding: 0 !important;
  210. width: 0 !important;
  211. height: 0 !important;
  212. }
  213. }
  214. .ellipsis {
  215. &::after {
  216. content: "…";
  217. }
  218. }
  219. .compose-form {
  220. padding: 10px;
  221. .compose-form__warning {
  222. color: $inverted-text-color;
  223. margin-bottom: 10px;
  224. background: $ui-primary-color;
  225. box-shadow: 0 2px 6px rgba($base-shadow-color, 0.3);
  226. padding: 8px 10px;
  227. border-radius: 4px;
  228. font-size: 13px;
  229. font-weight: 400;
  230. strong {
  231. color: $inverted-text-color;
  232. font-weight: 500;
  233. @each $lang in $cjk-langs {
  234. &:lang(#{$lang}) {
  235. font-weight: 700;
  236. }
  237. }
  238. }
  239. a {
  240. color: $lighter-text-color;
  241. font-weight: 500;
  242. text-decoration: underline;
  243. &:hover,
  244. &:active,
  245. &:focus {
  246. text-decoration: none;
  247. }
  248. }
  249. }
  250. .compose-form__autosuggest-wrapper {
  251. position: relative;
  252. .emoji-picker-dropdown {
  253. position: absolute;
  254. right: 5px;
  255. top: 5px;
  256. }
  257. }
  258. .autosuggest-textarea,
  259. .spoiler-input {
  260. position: relative;
  261. }
  262. .spoiler-input {
  263. height: 0;
  264. transform-origin: bottom;
  265. opacity: 0.0;
  266. &.spoiler-input--visible {
  267. height: 47px;
  268. opacity: 1.0;
  269. }
  270. }
  271. .autosuggest-textarea__textarea,
  272. .spoiler-input__input {
  273. display: block;
  274. box-sizing: border-box;
  275. width: 100%;
  276. margin: 0;
  277. color: $inverted-text-color;
  278. background: $simple-background-color;
  279. padding: 10px;
  280. font-family: inherit;
  281. font-size: 14px;
  282. resize: vertical;
  283. border: 0;
  284. outline: 0;
  285. &:focus {
  286. outline: 0;
  287. }
  288. @media screen and (max-width: 600px) {
  289. font-size: 16px;
  290. }
  291. }
  292. .spoiler-input__input {
  293. border-radius: 4px;
  294. }
  295. .autosuggest-textarea__textarea {
  296. min-height: 100px;
  297. border-radius: 4px 4px 0 0;
  298. padding-bottom: 0;
  299. padding-right: 10px + 22px;
  300. resize: none;
  301. @media screen and (max-width: 600px) {
  302. height: 100px !important; // prevent auto-resize textarea
  303. resize: vertical;
  304. }
  305. }
  306. .autosuggest-textarea__suggestions {
  307. box-sizing: border-box;
  308. display: none;
  309. position: absolute;
  310. top: 100%;
  311. width: 100%;
  312. z-index: 99;
  313. box-shadow: 4px 4px 6px rgba($base-shadow-color, 0.4);
  314. background: $ui-secondary-color;
  315. border-radius: 0 0 4px 4px;
  316. color: $inverted-text-color;
  317. font-size: 14px;
  318. padding: 6px;
  319. &.autosuggest-textarea__suggestions--visible {
  320. display: block;
  321. }
  322. }
  323. .autosuggest-textarea__suggestions__item {
  324. padding: 10px;
  325. cursor: pointer;
  326. border-radius: 4px;
  327. &:hover,
  328. &:focus,
  329. &:active,
  330. &.selected {
  331. background: darken($ui-secondary-color, 10%);
  332. }
  333. }
  334. .autosuggest-account,
  335. .autosuggest-emoji {
  336. display: flex;
  337. flex-direction: row;
  338. align-items: center;
  339. justify-content: flex-start;
  340. line-height: 18px;
  341. font-size: 14px;
  342. }
  343. .autosuggest-account-icon,
  344. .autosuggest-emoji img {
  345. display: block;
  346. margin-right: 8px;
  347. width: 16px;
  348. height: 16px;
  349. }
  350. .autosuggest-account .display-name__account {
  351. color: $lighter-text-color;
  352. }
  353. .compose-form__modifiers {
  354. color: $inverted-text-color;
  355. font-family: inherit;
  356. font-size: 14px;
  357. background: $simple-background-color;
  358. .compose-form__upload-wrapper {
  359. overflow: hidden;
  360. }
  361. .compose-form__uploads-wrapper {
  362. display: flex;
  363. flex-direction: row;
  364. padding: 5px;
  365. flex-wrap: wrap;
  366. }
  367. .compose-form__upload {
  368. flex: 1 1 0;
  369. min-width: 40%;
  370. margin: 5px;
  371. &__actions {
  372. background: linear-gradient(180deg, rgba($base-shadow-color, 0.8) 0, rgba($base-shadow-color, 0.35) 80%, transparent);
  373. display: flex;
  374. align-items: flex-start;
  375. justify-content: space-between;
  376. opacity: 0;
  377. transition: opacity .1s ease;
  378. .icon-button {
  379. flex: 0 1 auto;
  380. color: $secondary-text-color;
  381. font-size: 14px;
  382. font-weight: 500;
  383. padding: 10px;
  384. font-family: inherit;
  385. &:hover,
  386. &:focus,
  387. &:active {
  388. color: lighten($secondary-text-color, 7%);
  389. }
  390. }
  391. &.active {
  392. opacity: 1;
  393. }
  394. }
  395. &-description {
  396. position: absolute;
  397. z-index: 2;
  398. bottom: 0;
  399. left: 0;
  400. right: 0;
  401. box-sizing: border-box;
  402. background: linear-gradient(0deg, rgba($base-shadow-color, 0.8) 0, rgba($base-shadow-color, 0.35) 80%, transparent);
  403. padding: 10px;
  404. opacity: 0;
  405. transition: opacity .1s ease;
  406. input {
  407. background: transparent;
  408. color: $secondary-text-color;
  409. border: 0;
  410. padding: 0;
  411. margin: 0;
  412. width: 100%;
  413. font-family: inherit;
  414. font-size: 14px;
  415. font-weight: 500;
  416. &:focus {
  417. color: $white;
  418. }
  419. &::placeholder {
  420. opacity: 0.75;
  421. color: $secondary-text-color;
  422. }
  423. }
  424. &.active {
  425. opacity: 1;
  426. }
  427. }
  428. }
  429. .compose-form__upload-thumbnail {
  430. border-radius: 4px;
  431. background-position: center;
  432. background-size: cover;
  433. background-repeat: no-repeat;
  434. height: 140px;
  435. width: 100%;
  436. overflow: hidden;
  437. }
  438. }
  439. .compose-form__buttons-wrapper {
  440. padding: 10px;
  441. background: darken($simple-background-color, 8%);
  442. border-radius: 0 0 4px 4px;
  443. display: flex;
  444. justify-content: space-between;
  445. .compose-form__buttons {
  446. display: flex;
  447. .compose-form__upload-button-icon {
  448. line-height: 27px;
  449. }
  450. .compose-form__sensitive-button {
  451. display: none;
  452. &.compose-form__sensitive-button--visible {
  453. display: block;
  454. }
  455. .compose-form__sensitive-button__icon {
  456. line-height: 27px;
  457. }
  458. }
  459. }
  460. .icon-button {
  461. box-sizing: content-box;
  462. padding: 0 3px;
  463. }
  464. .character-counter__wrapper {
  465. align-self: center;
  466. margin-right: 4px;
  467. .character-counter {
  468. cursor: default;
  469. font-family: $font-sans-serif, sans-serif;
  470. font-size: 14px;
  471. font-weight: 600;
  472. color: $lighter-text-color;
  473. &.character-counter--over {
  474. color: $warning-red;
  475. }
  476. }
  477. }
  478. }
  479. .compose-form__publish {
  480. display: flex;
  481. justify-content: flex-end;
  482. min-width: 0;
  483. .compose-form__publish-button-wrapper {
  484. overflow: hidden;
  485. padding-top: 10px;
  486. }
  487. }
  488. }
  489. .no-reduce-motion .spoiler-input {
  490. transition: height 0.4s ease, opacity 0.4s ease;
  491. }
  492. .emojione {
  493. font-size: inherit;
  494. vertical-align: middle;
  495. object-fit: contain;
  496. margin: -.2ex .15em .2ex;
  497. width: 16px;
  498. height: 16px;
  499. img {
  500. width: auto;
  501. }
  502. }
  503. .reply-indicator {
  504. border-radius: 4px;
  505. margin-bottom: 10px;
  506. background: $ui-primary-color;
  507. padding: 10px;
  508. }
  509. .reply-indicator__header {
  510. margin-bottom: 5px;
  511. overflow: hidden;
  512. }
  513. .reply-indicator__cancel {
  514. float: right;
  515. line-height: 24px;
  516. }
  517. .reply-indicator__display-name {
  518. color: $inverted-text-color;
  519. display: block;
  520. max-width: 100%;
  521. line-height: 24px;
  522. overflow: hidden;
  523. padding-right: 25px;
  524. text-decoration: none;
  525. }
  526. .reply-indicator__display-avatar {
  527. float: left;
  528. margin-right: 5px;
  529. }
  530. .status__content--with-action {
  531. cursor: pointer;
  532. }
  533. .status__content,
  534. .reply-indicator__content {
  535. position: relative;
  536. font-size: 15px;
  537. line-height: 20px;
  538. word-wrap: break-word;
  539. font-weight: 400;
  540. overflow: hidden;
  541. text-overflow: ellipsis;
  542. white-space: pre-wrap;
  543. padding-top: 2px;
  544. color: $primary-text-color;
  545. &:focus {
  546. outline: 0;
  547. }
  548. &.status__content--with-spoiler {
  549. white-space: normal;
  550. .status__content__text {
  551. white-space: pre-wrap;
  552. }
  553. }
  554. .emojione {
  555. width: 20px;
  556. height: 20px;
  557. margin: -3px 0 0;
  558. }
  559. p {
  560. margin-bottom: 20px;
  561. &:last-child {
  562. margin-bottom: 0;
  563. }
  564. }
  565. a {
  566. color: $secondary-text-color;
  567. text-decoration: none;
  568. &:hover {
  569. text-decoration: underline;
  570. .fa {
  571. color: lighten($dark-text-color, 7%);
  572. }
  573. }
  574. &.mention {
  575. &:hover {
  576. text-decoration: none;
  577. span {
  578. text-decoration: underline;
  579. }
  580. }
  581. }
  582. .fa {
  583. color: $dark-text-color;
  584. }
  585. }
  586. .status__content__spoiler-link {
  587. background: $action-button-color;
  588. &:hover {
  589. background: lighten($action-button-color, 7%);
  590. text-decoration: none;
  591. }
  592. &::-moz-focus-inner {
  593. border: 0;
  594. }
  595. &::-moz-focus-inner,
  596. &:focus,
  597. &:active {
  598. outline: 0 !important;
  599. }
  600. }
  601. .status__content__text {
  602. display: none;
  603. &.status__content__text--visible {
  604. display: block;
  605. }
  606. }
  607. }
  608. .status__content.status__content--collapsed {
  609. max-height: 20px * 15; // 15 lines is roughly above 500 characters
  610. }
  611. .status__content__read-more-button {
  612. display: block;
  613. font-size: 15px;
  614. line-height: 20px;
  615. color: lighten($ui-highlight-color, 8%);
  616. border: 0;
  617. background: transparent;
  618. padding: 0;
  619. padding-top: 8px;
  620. &:hover,
  621. &:active {
  622. text-decoration: underline;
  623. }
  624. }
  625. .status__content__spoiler-link {
  626. display: inline-block;
  627. border-radius: 2px;
  628. background: transparent;
  629. border: 0;
  630. color: $inverted-text-color;
  631. font-weight: 700;
  632. font-size: 11px;
  633. padding: 0 6px;
  634. text-transform: uppercase;
  635. line-height: 20px;
  636. cursor: pointer;
  637. vertical-align: middle;
  638. }
  639. .status__wrapper--filtered {
  640. color: $dark-text-color;
  641. border: 0;
  642. font-size: inherit;
  643. text-align: center;
  644. line-height: inherit;
  645. margin: 0;
  646. padding: 15px;
  647. box-sizing: border-box;
  648. width: 100%;
  649. clear: both;
  650. border-bottom: 1px solid lighten($ui-base-color, 8%);
  651. }
  652. .status__prepend-icon-wrapper {
  653. left: -26px;
  654. position: absolute;
  655. }
  656. .focusable {
  657. &:focus {
  658. outline: 0;
  659. background: lighten($ui-base-color, 4%);
  660. .status.status-direct {
  661. background: lighten($ui-base-color, 12%);
  662. &.muted {
  663. background: transparent;
  664. }
  665. }
  666. .detailed-status,
  667. .detailed-status__action-bar {
  668. background: lighten($ui-base-color, 8%);
  669. }
  670. }
  671. }
  672. .status {
  673. padding: 8px 10px;
  674. padding-left: 68px;
  675. position: relative;
  676. min-height: 48px;
  677. border-bottom: 1px solid lighten($ui-base-color, 8%);
  678. cursor: default;
  679. @supports (-ms-overflow-style: -ms-autohiding-scrollbar) {
  680. // Add margin to avoid Edge auto-hiding scrollbar appearing over content.
  681. // On Edge 16 this is 16px and Edge <=15 it's 12px, so aim for 16px.
  682. padding-right: 26px; // 10px + 16px
  683. }
  684. @keyframes fade {
  685. 0% { opacity: 0; }
  686. 100% { opacity: 1; }
  687. }
  688. opacity: 1;
  689. animation: fade 150ms linear;
  690. .video-player {
  691. margin-top: 8px;
  692. }
  693. &.status-direct {
  694. background: lighten($ui-base-color, 8%);
  695. border-bottom-color: lighten($ui-base-color, 12%);
  696. }
  697. &.light {
  698. .status__relative-time {
  699. color: $light-text-color;
  700. }
  701. .status__display-name {
  702. color: $inverted-text-color;
  703. }
  704. .display-name {
  705. strong {
  706. color: $inverted-text-color;
  707. }
  708. span {
  709. color: $light-text-color;
  710. }
  711. }
  712. .status__content {
  713. color: $inverted-text-color;
  714. a {
  715. color: $highlight-text-color;
  716. }
  717. a.status__content__spoiler-link {
  718. color: $primary-text-color;
  719. background: $ui-primary-color;
  720. &:hover {
  721. background: lighten($ui-primary-color, 8%);
  722. }
  723. }
  724. }
  725. }
  726. }
  727. .notification-favourite {
  728. .status.status-direct {
  729. background: transparent;
  730. .icon-button.disabled {
  731. color: lighten($action-button-color, 13%);
  732. }
  733. }
  734. }
  735. .status__relative-time {
  736. color: $dark-text-color;
  737. float: right;
  738. font-size: 14px;
  739. }
  740. .status__display-name {
  741. color: $dark-text-color;
  742. }
  743. .status__info .status__display-name {
  744. display: block;
  745. max-width: 100%;
  746. padding-right: 25px;
  747. }
  748. .status__info {
  749. font-size: 15px;
  750. }
  751. .status-check-box {
  752. border-bottom: 1px solid $ui-secondary-color;
  753. display: flex;
  754. .status-check-box__status {
  755. margin: 10px 0 10px 10px;
  756. flex: 1;
  757. .media-gallery {
  758. max-width: 250px;
  759. }
  760. .status__content {
  761. padding: 0;
  762. white-space: normal;
  763. }
  764. .video-player {
  765. margin-top: 8px;
  766. max-width: 250px;
  767. }
  768. .media-gallery__item-thumbnail {
  769. cursor: default;
  770. }
  771. }
  772. }
  773. .status-check-box-toggle {
  774. align-items: center;
  775. display: flex;
  776. flex: 0 0 auto;
  777. justify-content: center;
  778. padding: 10px;
  779. }
  780. .status__prepend {
  781. margin-left: 68px;
  782. color: $dark-text-color;
  783. padding: 8px 0;
  784. padding-bottom: 2px;
  785. font-size: 14px;
  786. position: relative;
  787. .status__display-name strong {
  788. color: $dark-text-color;
  789. }
  790. > span {
  791. display: block;
  792. overflow: hidden;
  793. text-overflow: ellipsis;
  794. }
  795. }
  796. .status__action-bar {
  797. align-items: center;
  798. display: flex;
  799. margin-top: 8px;
  800. &__counter {
  801. display: inline-flex;
  802. margin-right: 11px;
  803. align-items: center;
  804. .status__action-bar-button {
  805. margin-right: 4px;
  806. }
  807. &__label {
  808. display: inline-block;
  809. width: 14px;
  810. font-size: 12px;
  811. font-weight: 500;
  812. color: $action-button-color;
  813. }
  814. }
  815. }
  816. .status__action-bar-button {
  817. margin-right: 18px;
  818. }
  819. .status__action-bar-dropdown {
  820. height: 23.15px;
  821. width: 23.15px;
  822. }
  823. .detailed-status__action-bar-dropdown {
  824. flex: 1 1 auto;
  825. display: flex;
  826. align-items: center;
  827. justify-content: center;
  828. position: relative;
  829. }
  830. .detailed-status {
  831. background: lighten($ui-base-color, 4%);
  832. padding: 14px 10px;
  833. &--flex {
  834. display: flex;
  835. flex-wrap: wrap;
  836. justify-content: space-between;
  837. align-items: flex-start;
  838. .status__content,
  839. .detailed-status__meta {
  840. flex: 100%;
  841. }
  842. }
  843. .status__content {
  844. font-size: 19px;
  845. line-height: 24px;
  846. .emojione {
  847. width: 24px;
  848. height: 24px;
  849. margin: -1px 0 0;
  850. }
  851. .status__content__spoiler-link {
  852. line-height: 24px;
  853. margin: -1px 0 0;
  854. }
  855. }
  856. .video-player {
  857. margin-top: 8px;
  858. }
  859. }
  860. .detailed-status__meta {
  861. margin-top: 15px;
  862. color: $dark-text-color;
  863. font-size: 14px;
  864. line-height: 18px;
  865. }
  866. .detailed-status__action-bar {
  867. background: lighten($ui-base-color, 4%);
  868. border-top: 1px solid lighten($ui-base-color, 8%);
  869. border-bottom: 1px solid lighten($ui-base-color, 8%);
  870. display: flex;
  871. flex-direction: row;
  872. padding: 10px 0;
  873. }
  874. .detailed-status__link {
  875. color: inherit;
  876. text-decoration: none;
  877. }
  878. .detailed-status__favorites,
  879. .detailed-status__reblogs {
  880. display: inline-block;
  881. font-weight: 500;
  882. font-size: 12px;
  883. margin-left: 6px;
  884. }
  885. .reply-indicator__content {
  886. color: $inverted-text-color;
  887. font-size: 14px;
  888. a {
  889. color: $lighter-text-color;
  890. }
  891. }
  892. .domain {
  893. padding: 10px;
  894. border-bottom: 1px solid lighten($ui-base-color, 8%);
  895. .domain__domain-name {
  896. flex: 1 1 auto;
  897. display: block;
  898. color: $primary-text-color;
  899. text-decoration: none;
  900. font-size: 14px;
  901. font-weight: 500;
  902. }
  903. }
  904. .domain__wrapper {
  905. display: flex;
  906. }
  907. .domain_buttons {
  908. height: 18px;
  909. padding: 10px;
  910. white-space: nowrap;
  911. }
  912. .account {
  913. padding: 10px;
  914. border-bottom: 1px solid lighten($ui-base-color, 8%);
  915. &.compact {
  916. padding: 0;
  917. border-bottom: 0;
  918. .account__avatar-wrapper {
  919. margin-left: 0;
  920. }
  921. }
  922. .account__display-name {
  923. flex: 1 1 auto;
  924. display: block;
  925. color: $darker-text-color;
  926. overflow: hidden;
  927. text-decoration: none;
  928. font-size: 14px;
  929. }
  930. }
  931. .account__wrapper {
  932. display: flex;
  933. }
  934. .account__avatar-wrapper {
  935. float: left;
  936. margin-left: 12px;
  937. margin-right: 12px;
  938. }
  939. .account__avatar {
  940. @include avatar-radius();
  941. position: relative;
  942. &-inline {
  943. display: inline-block;
  944. vertical-align: middle;
  945. margin-right: 5px;
  946. }
  947. }
  948. a .account__avatar {
  949. cursor: pointer;
  950. }
  951. .account__avatar-overlay {
  952. @include avatar-size(48px);
  953. &-base {
  954. @include avatar-radius();
  955. @include avatar-size(36px);
  956. }
  957. &-overlay {
  958. @include avatar-radius();
  959. @include avatar-size(24px);
  960. position: absolute;
  961. bottom: 0;
  962. right: 0;
  963. z-index: 1;
  964. }
  965. }
  966. .account__relationship {
  967. height: 18px;
  968. padding: 10px;
  969. white-space: nowrap;
  970. }
  971. .account__header {
  972. flex: 0 0 auto;
  973. background: lighten($ui-base-color, 4%);
  974. text-align: center;
  975. background-size: cover;
  976. background-position: center;
  977. position: relative;
  978. &.inactive {
  979. opacity: 0.5;
  980. .account__header__avatar {
  981. filter: grayscale(100%);
  982. }
  983. .account__header__username {
  984. color: $secondary-text-color;
  985. }
  986. }
  987. & > div {
  988. background: rgba(lighten($ui-base-color, 4%), 0.9);
  989. padding: 20px 10px;
  990. }
  991. .account__header__content {
  992. color: $secondary-text-color;
  993. }
  994. .account__header__display-name {
  995. color: $primary-text-color;
  996. display: inline-block;
  997. width: 100%;
  998. font-size: 20px;
  999. line-height: 27px;
  1000. font-weight: 500;
  1001. overflow: hidden;
  1002. text-overflow: ellipsis;
  1003. }
  1004. .account__header__username {
  1005. color: $highlight-text-color;
  1006. font-size: 14px;
  1007. font-weight: 400;
  1008. display: block;
  1009. margin-bottom: 10px;
  1010. overflow: hidden;
  1011. text-overflow: ellipsis;
  1012. }
  1013. }
  1014. .account__disclaimer {
  1015. padding: 10px;
  1016. border-top: 1px solid lighten($ui-base-color, 8%);
  1017. color: $dark-text-color;
  1018. strong {
  1019. font-weight: 500;
  1020. @each $lang in $cjk-langs {
  1021. &:lang(#{$lang}) {
  1022. font-weight: 700;
  1023. }
  1024. }
  1025. }
  1026. a {
  1027. font-weight: 500;
  1028. color: inherit;
  1029. text-decoration: underline;
  1030. &:hover,
  1031. &:focus,
  1032. &:active {
  1033. text-decoration: none;
  1034. }
  1035. }
  1036. }
  1037. .account__header__content {
  1038. color: $darker-text-color;
  1039. font-size: 14px;
  1040. font-weight: 400;
  1041. overflow: hidden;
  1042. word-break: normal;
  1043. word-wrap: break-word;
  1044. p {
  1045. margin-bottom: 20px;
  1046. &:last-child {
  1047. margin-bottom: 0;
  1048. }
  1049. }
  1050. a {
  1051. color: inherit;
  1052. text-decoration: underline;
  1053. &:hover {
  1054. text-decoration: none;
  1055. }
  1056. }
  1057. }
  1058. .account__header__display-name {
  1059. .emojione {
  1060. width: 25px;
  1061. height: 25px;
  1062. }
  1063. }
  1064. .account__action-bar {
  1065. border-top: 1px solid lighten($ui-base-color, 8%);
  1066. border-bottom: 1px solid lighten($ui-base-color, 8%);
  1067. line-height: 36px;
  1068. overflow: hidden;
  1069. flex: 0 0 auto;
  1070. display: flex;
  1071. }
  1072. .account__action-bar-dropdown {
  1073. padding: 10px;
  1074. .icon-button {
  1075. vertical-align: middle;
  1076. }
  1077. .dropdown--active {
  1078. .dropdown__content.dropdown__right {
  1079. left: 6px;
  1080. right: initial;
  1081. }
  1082. &::after {
  1083. bottom: initial;
  1084. margin-left: 11px;
  1085. margin-top: -7px;
  1086. right: initial;
  1087. }
  1088. }
  1089. }
  1090. .account__action-bar-links {
  1091. display: flex;
  1092. flex: 1 1 auto;
  1093. line-height: 18px;
  1094. text-align: center;
  1095. }
  1096. .account__action-bar__tab {
  1097. text-decoration: none;
  1098. overflow: hidden;
  1099. flex: 0 1 100%;
  1100. border-right: 1px solid lighten($ui-base-color, 8%);
  1101. padding: 10px 0;
  1102. border-bottom: 4px solid transparent;
  1103. &.active {
  1104. border-bottom: 4px solid $ui-highlight-color;
  1105. }
  1106. & > span {
  1107. display: block;
  1108. text-transform: uppercase;
  1109. font-size: 11px;
  1110. color: $darker-text-color;
  1111. }
  1112. strong {
  1113. display: block;
  1114. font-size: 15px;
  1115. font-weight: 500;
  1116. color: $primary-text-color;
  1117. @each $lang in $cjk-langs {
  1118. &:lang(#{$lang}) {
  1119. font-weight: 700;
  1120. }
  1121. }
  1122. }
  1123. }
  1124. .account__header__avatar {
  1125. background-size: 90px 90px;
  1126. display: block;
  1127. height: 90px;
  1128. margin: 0 auto 10px;
  1129. overflow: hidden;
  1130. width: 90px;
  1131. }
  1132. .account-authorize {
  1133. padding: 14px 10px;
  1134. .detailed-status__display-name {
  1135. display: block;
  1136. margin-bottom: 15px;
  1137. overflow: hidden;
  1138. }
  1139. }
  1140. .account-authorize__avatar {
  1141. float: left;
  1142. margin-right: 10px;
  1143. }
  1144. .status__display-name,
  1145. .status__relative-time,
  1146. .detailed-status__display-name,
  1147. .detailed-status__datetime,
  1148. .detailed-status__application,
  1149. .account__display-name {
  1150. text-decoration: none;
  1151. }
  1152. .status__display-name,
  1153. .account__display-name {
  1154. strong {
  1155. color: $primary-text-color;
  1156. }
  1157. }
  1158. .muted {
  1159. .emojione {
  1160. opacity: 0.5;
  1161. }
  1162. }
  1163. .status__display-name,
  1164. .reply-indicator__display-name,
  1165. .detailed-status__display-name,
  1166. a.account__display-name {
  1167. &:hover strong {
  1168. text-decoration: underline;
  1169. }
  1170. }
  1171. .account__display-name strong {
  1172. display: block;
  1173. overflow: hidden;
  1174. text-overflow: ellipsis;
  1175. }
  1176. .detailed-status__application,
  1177. .detailed-status__datetime {
  1178. color: inherit;
  1179. }
  1180. .detailed-status__display-name {
  1181. color: $secondary-text-color;
  1182. display: block;
  1183. line-height: 24px;
  1184. margin-bottom: 15px;
  1185. overflow: hidden;
  1186. strong,
  1187. span {
  1188. display: block;
  1189. text-overflow: ellipsis;
  1190. overflow: hidden;
  1191. }
  1192. strong {
  1193. font-size: 16px;
  1194. color: $primary-text-color;
  1195. }
  1196. }
  1197. .detailed-status__display-avatar {
  1198. float: left;
  1199. margin-right: 10px;
  1200. }
  1201. .status__avatar {
  1202. height: 48px;
  1203. left: 10px;
  1204. position: absolute;
  1205. top: 10px;
  1206. width: 48px;
  1207. }
  1208. .muted {
  1209. .status__content p,
  1210. .status__content a {
  1211. color: $dark-text-color;
  1212. }
  1213. .status__display-name strong {
  1214. color: $dark-text-color;
  1215. }
  1216. .status__avatar {
  1217. opacity: 0.5;
  1218. }
  1219. a.status__content__spoiler-link {
  1220. background: $ui-base-lighter-color;
  1221. color: $inverted-text-color;
  1222. &:hover {
  1223. background: lighten($ui-base-lighter-color, 7%);
  1224. text-decoration: none;
  1225. }
  1226. }
  1227. }
  1228. .notification__message {
  1229. margin: 0 10px 0 68px;
  1230. padding: 8px 0 0;
  1231. cursor: default;
  1232. color: $darker-text-color;
  1233. font-size: 15px;
  1234. position: relative;
  1235. .fa {
  1236. color: $highlight-text-color;
  1237. }
  1238. > span {
  1239. display: block;
  1240. overflow: hidden;
  1241. text-overflow: ellipsis;
  1242. }
  1243. }
  1244. .notification__favourite-icon-wrapper {
  1245. left: -26px;
  1246. position: absolute;
  1247. .star-icon {
  1248. color: $gold-star;
  1249. }
  1250. }
  1251. .star-icon.active {
  1252. color: $gold-star;
  1253. }
  1254. .notification__display-name {
  1255. color: inherit;
  1256. font-weight: 500;
  1257. text-decoration: none;
  1258. &:hover {
  1259. color: $primary-text-color;
  1260. text-decoration: underline;
  1261. }
  1262. }
  1263. .display-name {
  1264. display: block;
  1265. max-width: 100%;
  1266. overflow: hidden;
  1267. text-overflow: ellipsis;
  1268. white-space: nowrap;
  1269. }
  1270. .display-name__html {
  1271. font-weight: 500;
  1272. }
  1273. .display-name__account {
  1274. font-size: 14px;
  1275. }
  1276. .status__relative-time,
  1277. .detailed-status__datetime {
  1278. &:hover {
  1279. text-decoration: underline;
  1280. }
  1281. }
  1282. .image-loader {
  1283. position: relative;
  1284. width: 100%;
  1285. height: 100%;
  1286. display: flex;
  1287. align-items: center;
  1288. justify-content: center;
  1289. flex-direction: column;
  1290. .image-loader__preview-canvas {
  1291. max-width: $media-modal-media-max-width;
  1292. max-height: $media-modal-media-max-height;
  1293. background: url('../images/void.png') repeat;
  1294. object-fit: contain;
  1295. }
  1296. .loading-bar {
  1297. position: relative;
  1298. }
  1299. &.image-loader--amorphous .image-loader__preview-canvas {
  1300. display: none;
  1301. }
  1302. }
  1303. .zoomable-image {
  1304. position: relative;
  1305. width: 100%;
  1306. height: 100%;
  1307. display: flex;
  1308. align-items: center;
  1309. justify-content: center;
  1310. img {
  1311. max-width: $media-modal-media-max-width;
  1312. max-height: $media-modal-media-max-height;
  1313. width: auto;
  1314. height: auto;
  1315. object-fit: contain;
  1316. }
  1317. }
  1318. .navigation-bar {
  1319. padding: 10px;
  1320. display: flex;
  1321. align-items: center;
  1322. flex-shrink: 0;
  1323. cursor: default;
  1324. color: $darker-text-color;
  1325. strong {
  1326. color: $secondary-text-color;
  1327. }
  1328. a {
  1329. color: inherit;
  1330. }
  1331. .permalink {
  1332. text-decoration: none;
  1333. }
  1334. .navigation-bar__actions {
  1335. position: relative;
  1336. .icon-button.close {
  1337. position: absolute;
  1338. pointer-events: none;
  1339. transform: scale(0.0, 1.0) translate(-100%, 0);
  1340. opacity: 0;
  1341. }
  1342. .compose__action-bar .icon-button {
  1343. pointer-events: auto;
  1344. transform: scale(1.0, 1.0) translate(0, 0);
  1345. opacity: 1;
  1346. }
  1347. }
  1348. }
  1349. .navigation-bar__profile {
  1350. flex: 1 1 auto;
  1351. margin-left: 8px;
  1352. line-height: 20px;
  1353. margin-top: -1px;
  1354. overflow: hidden;
  1355. }
  1356. .navigation-bar__profile-account {
  1357. display: block;
  1358. font-weight: 500;
  1359. overflow: hidden;
  1360. text-overflow: ellipsis;
  1361. }
  1362. .navigation-bar__profile-edit {
  1363. color: inherit;
  1364. text-decoration: none;
  1365. }
  1366. .dropdown {
  1367. display: inline-block;
  1368. }
  1369. .dropdown__content {
  1370. display: none;
  1371. position: absolute;
  1372. }
  1373. .dropdown-menu__separator {
  1374. border-bottom: 1px solid darken($ui-secondary-color, 8%);
  1375. margin: 5px 7px 6px;
  1376. height: 0;
  1377. }
  1378. .dropdown-menu {
  1379. background: $ui-secondary-color;
  1380. padding: 4px 0;
  1381. border-radius: 4px;
  1382. box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
  1383. ul {
  1384. list-style: none;
  1385. }
  1386. &.left {
  1387. transform-origin: 100% 50%;
  1388. }
  1389. &.top {
  1390. transform-origin: 50% 100%;
  1391. }
  1392. &.bottom {
  1393. transform-origin: 50% 0;
  1394. }
  1395. &.right {
  1396. transform-origin: 0 50%;
  1397. }
  1398. }
  1399. .dropdown-menu__arrow {
  1400. position: absolute;
  1401. width: 0;
  1402. height: 0;
  1403. border: 0 solid transparent;
  1404. &.left {
  1405. right: -5px;
  1406. margin-top: -5px;
  1407. border-width: 5px 0 5px 5px;
  1408. border-left-color: $ui-secondary-color;
  1409. }
  1410. &.top {
  1411. bottom: -5px;
  1412. margin-left: -7px;
  1413. border-width: 5px 7px 0;
  1414. border-top-color: $ui-secondary-color;
  1415. }
  1416. &.bottom {
  1417. top: -5px;
  1418. margin-left: -7px;
  1419. border-width: 0 7px 5px;
  1420. border-bottom-color: $ui-secondary-color;
  1421. }
  1422. &.right {
  1423. left: -5px;
  1424. margin-top: -5px;
  1425. border-width: 5px 5px 5px 0;
  1426. border-right-color: $ui-secondary-color;
  1427. }
  1428. }
  1429. .dropdown-menu__item {
  1430. a {
  1431. font-size: 13px;
  1432. line-height: 18px;
  1433. display: block;
  1434. padding: 4px 14px;
  1435. box-sizing: border-box;
  1436. text-decoration: none;
  1437. background: $ui-secondary-color;
  1438. color: $inverted-text-color;
  1439. overflow: hidden;
  1440. text-overflow: ellipsis;
  1441. white-space: nowrap;
  1442. &:focus,
  1443. &:hover,
  1444. &:active {
  1445. background: $ui-highlight-color;
  1446. color: $secondary-text-color;
  1447. outline: 0;
  1448. }
  1449. }
  1450. }
  1451. .dropdown--active .dropdown__content {
  1452. display: block;
  1453. line-height: 18px;
  1454. max-width: 311px;
  1455. right: 0;
  1456. text-align: left;
  1457. z-index: 9999;
  1458. & > ul {
  1459. list-style: none;
  1460. background: $ui-secondary-color;
  1461. padding: 4px 0;
  1462. border-radius: 4px;
  1463. box-shadow: 0 0 15px rgba($base-shadow-color, 0.4);
  1464. min-width: 140px;
  1465. position: relative;
  1466. }
  1467. &.dropdown__right {
  1468. right: 0;
  1469. }
  1470. &.dropdown__left {
  1471. & > ul {
  1472. left: -98px;
  1473. }
  1474. }
  1475. & > ul > li > a {
  1476. font-size: 13px;
  1477. line-height: 18px;
  1478. display: block;
  1479. padding: 4px 14px;
  1480. box-sizing: border-box;
  1481. text-decoration: none;
  1482. background: $ui-secondary-color;
  1483. color: $inverted-text-color;
  1484. overflow: hidden;
  1485. text-overflow: ellipsis;
  1486. white-space: nowrap;
  1487. &:focus {
  1488. outline: 0;
  1489. }
  1490. &:hover {
  1491. background: $ui-highlight-color;
  1492. color: $secondary-text-color;
  1493. }
  1494. }
  1495. }
  1496. .dropdown__icon {
  1497. vertical-align: middle;
  1498. }
  1499. .columns-area {
  1500. display: flex;
  1501. flex: 1 1 auto;
  1502. flex-direction: row;
  1503. justify-content: flex-start;
  1504. overflow-x: auto;
  1505. position: relative;
  1506. &.unscrollable {
  1507. overflow-x: hidden;
  1508. }
  1509. }
  1510. @media screen and (min-width: 360px) {
  1511. .columns-area {
  1512. padding: 10px;
  1513. }
  1514. .react-swipeable-view-container .columns-area {
  1515. height: calc(100% - 20px) !important;
  1516. }
  1517. }
  1518. .react-swipeable-view-container {
  1519. &,
  1520. .columns-area,
  1521. .drawer,
  1522. .column {
  1523. height: 100%;
  1524. }
  1525. }
  1526. .react-swipeable-view-container > * {
  1527. display: flex;
  1528. align-items: center;
  1529. justify-content: center;
  1530. height: 100%;
  1531. }
  1532. .column {
  1533. width: 330px;
  1534. position: relative;
  1535. box-sizing: border-box;
  1536. display: flex;
  1537. flex-direction: column;
  1538. > .scrollable {
  1539. background: $ui-base-color;
  1540. }
  1541. }
  1542. .ui {
  1543. flex: 0 0 auto;
  1544. display: flex;
  1545. flex-direction: column;
  1546. width: 100%;
  1547. height: 100%;
  1548. background: darken($ui-base-color, 7%);
  1549. }
  1550. .drawer {
  1551. width: 300px;
  1552. box-sizing: border-box;
  1553. display: flex;
  1554. flex-direction: column;
  1555. overflow-y: hidden;
  1556. }
  1557. .drawer__tab {
  1558. display: block;
  1559. flex: 1 1 auto;
  1560. padding: 15px 5px 13px;
  1561. color: $darker-text-color;
  1562. text-decoration: none;
  1563. text-align: center;
  1564. font-size: 16px;
  1565. border-bottom: 2px solid transparent;
  1566. }
  1567. .column,
  1568. .drawer {
  1569. flex: 1 1 100%;
  1570. overflow: hidden;
  1571. }
  1572. @media screen and (min-width: 360px) {
  1573. .tabs-bar {
  1574. margin: 10px;
  1575. margin-bottom: 0;
  1576. }
  1577. .getting-started__wrapper,
  1578. .getting-started__trends,
  1579. .search {
  1580. margin-bottom: 10px;
  1581. }
  1582. }
  1583. @media screen and (max-width: 630px) {
  1584. .column,
  1585. .drawer {
  1586. width: 100%;
  1587. padding: 0;
  1588. }
  1589. .columns-area {
  1590. flex-direction: column;
  1591. }
  1592. .search__input,
  1593. .autosuggest-textarea__textarea {
  1594. font-size: 16px;
  1595. }
  1596. }
  1597. @media screen and (min-width: 631px) {
  1598. .columns-area {
  1599. padding: 0;
  1600. }
  1601. .column,
  1602. .drawer {
  1603. flex: 0 0 auto;
  1604. padding: 10px;
  1605. padding-left: 5px;
  1606. padding-right: 5px;
  1607. &:first-child {
  1608. padding-left: 10px;
  1609. }
  1610. &:last-child {
  1611. padding-right: 10px;
  1612. }
  1613. }
  1614. .columns-area > div {
  1615. .column,
  1616. .drawer {
  1617. padding-left: 5px;
  1618. padding-right: 5px;
  1619. }
  1620. }
  1621. }
  1622. .drawer__pager {
  1623. box-sizing: border-box;
  1624. padding: 0;
  1625. flex-grow: 1;
  1626. position: relative;
  1627. overflow: hidden;
  1628. display: flex;
  1629. }
  1630. .drawer__inner {
  1631. position: absolute;
  1632. top: 0;
  1633. left: 0;
  1634. background: lighten($ui-base-color, 13%);
  1635. box-sizing: border-box;
  1636. padding: 0;
  1637. display: flex;
  1638. flex-direction: column;
  1639. overflow: hidden;
  1640. overflow-y: auto;
  1641. width: 100%;
  1642. height: 100%;
  1643. &.darker {
  1644. background: $ui-base-color;
  1645. }
  1646. }
  1647. .drawer__inner__mastodon {
  1648. background: lighten($ui-base-color, 13%) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 234.80078 31.757813" width="234.80078" height="31.757812"><path d="M19.599609 0c-1.05 0-2.10039.375-2.90039 1.125L0 16.925781v14.832031h234.80078V17.025391l-16.5-15.900391c-1.6-1.5-4.20078-1.5-5.80078 0l-13.80078 13.099609c-1.6 1.5-4.19883 1.5-5.79883 0L179.09961 1.125c-1.6-1.5-4.19883-1.5-5.79883 0L159.5 14.224609c-1.6 1.5-4.20078 1.5-5.80078 0L139.90039 1.125c-1.6-1.5-4.20078-1.5-5.80078 0l-13.79883 13.099609c-1.6 1.5-4.20078 1.5-5.80078 0L100.69922 1.125c-1.600001-1.5-4.198829-1.5-5.798829 0l-13.59961 13.099609c-1.6 1.5-4.200781 1.5-5.800781 0L61.699219 1.125c-1.6-1.5-4.198828-1.5-5.798828 0L42.099609 14.224609c-1.6 1.5-4.198828 1.5-5.798828 0L22.5 1.125C21.7.375 20.649609 0 19.599609 0z" fill="#{hex-color($ui-base-color)}"/></svg>') no-repeat bottom / 100% auto;
  1649. flex: 1;
  1650. min-height: 47px;
  1651. > img {
  1652. display: block;
  1653. object-fit: contain;
  1654. object-position: bottom left;
  1655. width: 100%;
  1656. height: 100%;
  1657. pointer-events: none;
  1658. user-drag: none;
  1659. user-select: none;
  1660. }
  1661. }
  1662. .pseudo-drawer {
  1663. background: lighten($ui-base-color, 13%);
  1664. font-size: 13px;
  1665. text-align: left;
  1666. }
  1667. .drawer__header {
  1668. flex: 0 0 auto;
  1669. font-size: 16px;
  1670. background: lighten($ui-base-color, 8%);
  1671. margin-bottom: 10px;
  1672. display: flex;
  1673. flex-direction: row;
  1674. a {
  1675. transition: background 100ms ease-in;
  1676. &:hover {
  1677. background: lighten($ui-base-color, 3%);
  1678. transition: background 200ms ease-out;
  1679. }
  1680. }
  1681. }
  1682. .tabs-bar {
  1683. display: flex;
  1684. background: lighten($ui-base-color, 8%);
  1685. flex: 0 0 auto;
  1686. overflow-y: auto;
  1687. }
  1688. .tabs-bar__link {
  1689. display: block;
  1690. flex: 1 1 auto;
  1691. padding: 15px 10px;
  1692. color: $primary-text-color;
  1693. text-decoration: none;
  1694. text-align: center;
  1695. font-size: 14px;
  1696. font-weight: 500;
  1697. border-bottom: 2px solid lighten($ui-base-color, 8%);
  1698. transition: all 50ms linear;
  1699. .fa {
  1700. font-weight: 400;
  1701. font-size: 16px;
  1702. }
  1703. &.active {
  1704. border-bottom: 2px solid $highlight-text-color;
  1705. color: $highlight-text-color;
  1706. }
  1707. &:hover,
  1708. &:focus,
  1709. &:active {
  1710. @media screen and (min-width: 631px) {
  1711. background: lighten($ui-base-color, 14%);
  1712. }
  1713. }
  1714. span {
  1715. margin-left: 5px;
  1716. display: none;
  1717. }
  1718. }
  1719. @media screen and (min-width: 600px) {
  1720. .tabs-bar__link {
  1721. span {
  1722. display: inline;
  1723. }
  1724. }
  1725. }
  1726. @media screen and (min-width: 631px) {
  1727. .tabs-bar {
  1728. display: none;
  1729. }
  1730. }
  1731. .scrollable {
  1732. overflow-y: scroll;
  1733. overflow-x: hidden;
  1734. flex: 1 1 auto;
  1735. -webkit-overflow-scrolling: touch;
  1736. will-change: transform; // improves perf in mobile Chrome
  1737. &.optionally-scrollable {
  1738. overflow-y: auto;
  1739. }
  1740. @supports(display: grid) { // hack to fix Chrome <57
  1741. contain: strict;
  1742. }
  1743. }
  1744. .scrollable.fullscreen {
  1745. @supports(display: grid) { // hack to fix Chrome <57
  1746. contain: none;
  1747. }
  1748. }
  1749. .column-back-button {
  1750. background: lighten($ui-base-color, 4%);
  1751. color: $highlight-text-color;
  1752. cursor: pointer;
  1753. flex: 0 0 auto;
  1754. font-size: 16px;
  1755. line-height: inherit;
  1756. border: 0;
  1757. text-align: unset;
  1758. padding: 15px;
  1759. margin: 0;
  1760. z-index: 3;
  1761. outline: 0;
  1762. &:hover {
  1763. text-decoration: underline;
  1764. }
  1765. }
  1766. .column-header__back-button {
  1767. background: lighten($ui-base-color, 4%);
  1768. border: 0;
  1769. font-family: inherit;
  1770. color: $highlight-text-color;
  1771. cursor: pointer;
  1772. white-space: nowrap;
  1773. font-size: 16px;
  1774. padding: 0 5px 0 0;
  1775. z-index: 3;
  1776. &:hover {
  1777. text-decoration: underline;
  1778. }
  1779. &:last-child {
  1780. padding: 0 15px 0 0;
  1781. }
  1782. }
  1783. .column-back-button__icon {
  1784. display: inline-block;
  1785. margin-right: 5px;
  1786. }
  1787. .column-back-button--slim {
  1788. position: relative;
  1789. }
  1790. .column-back-button--slim-button {
  1791. cursor: pointer;
  1792. flex: 0 0 auto;
  1793. font-size: 16px;
  1794. padding: 15px;
  1795. position: absolute;
  1796. right: 0;
  1797. top: -48px;
  1798. }
  1799. .react-toggle {
  1800. display: inline-block;
  1801. position: relative;
  1802. cursor: pointer;
  1803. background-color: transparent;
  1804. border: 0;
  1805. padding: 0;
  1806. user-select: none;
  1807. -webkit-tap-highlight-color: rgba($base-overlay-background, 0);
  1808. -webkit-tap-highlight-color: transparent;
  1809. }
  1810. .react-toggle-screenreader-only {
  1811. border: 0;
  1812. clip: rect(0 0 0 0);
  1813. height: 1px;
  1814. margin: -1px;
  1815. overflow: hidden;
  1816. padding: 0;
  1817. position: absolute;
  1818. width: 1px;
  1819. }
  1820. .react-toggle--disabled {
  1821. cursor: not-allowed;
  1822. opacity: 0.5;
  1823. transition: opacity 0.25s;
  1824. }
  1825. .react-toggle-track {
  1826. width: 50px;
  1827. height: 24px;
  1828. padding: 0;
  1829. border-radius: 30px;
  1830. background-color: $ui-base-color;
  1831. transition: all 0.2s ease;
  1832. }
  1833. .react-toggle:hover:not(.react-toggle--disabled) .react-toggle-track {
  1834. background-color: darken($ui-base-color, 10%);
  1835. }
  1836. .react-toggle--checked .react-toggle-track {
  1837. background-color: $ui-highlight-color;
  1838. }
  1839. .react-toggle--checked:hover:not(.react-toggle--disabled) .react-toggle-track {
  1840. background-color: lighten($ui-highlight-color, 10%);
  1841. }
  1842. .react-toggle-track-check {
  1843. position: absolute;
  1844. width: 14px;
  1845. height: 10px;
  1846. top: 0;
  1847. bottom: 0;
  1848. margin-top: auto;
  1849. margin-bottom: auto;
  1850. line-height: 0;
  1851. left: 8px;
  1852. opacity: 0;
  1853. transition: opacity 0.25s ease;
  1854. }
  1855. .react-toggle--checked .react-toggle-track-check {
  1856. opacity: 1;
  1857. transition: opacity 0.25s ease;
  1858. }
  1859. .react-toggle-track-x {
  1860. position: absolute;
  1861. width: 10px;
  1862. height: 10px;
  1863. top: 0;
  1864. bottom: 0;
  1865. margin-top: auto;
  1866. margin-bottom: auto;
  1867. line-height: 0;
  1868. right: 10px;
  1869. opacity: 1;
  1870. transition: opacity 0.25s ease;
  1871. }
  1872. .react-toggle--checked .react-toggle-track-x {
  1873. opacity: 0;
  1874. }
  1875. .react-toggle-thumb {
  1876. transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  1877. position: absolute;
  1878. top: 1px;
  1879. left: 1px;
  1880. width: 22px;
  1881. height: 22px;
  1882. border: 1px solid $ui-base-color;
  1883. border-radius: 50%;
  1884. background-color: darken($simple-background-color, 2%);
  1885. box-sizing: border-box;
  1886. transition: all 0.25s ease;
  1887. }
  1888. .react-toggle--checked .react-toggle-thumb {
  1889. left: 27px;
  1890. border-color: $ui-highlight-color;
  1891. }
  1892. .column-link {
  1893. background: lighten($ui-base-color, 8%);
  1894. color: $primary-text-color;
  1895. display: block;
  1896. font-size: 16px;
  1897. padding: 15px;
  1898. text-decoration: none;
  1899. &:hover {
  1900. background: lighten($ui-base-color, 11%);
  1901. }
  1902. }
  1903. .column-link__icon {
  1904. display: inline-block;
  1905. margin-right: 5px;
  1906. }
  1907. .column-link__badge {
  1908. display: inline-block;
  1909. border-radius: 4px;
  1910. font-size: 12px;
  1911. line-height: 19px;
  1912. font-weight: 500;
  1913. background: $ui-base-color;
  1914. padding: 4px 8px;
  1915. margin: -6px 10px;
  1916. }
  1917. .column-subheading {
  1918. background: $ui-base-color;
  1919. color: $dark-text-color;
  1920. padding: 8px 20px;
  1921. font-size: 12px;
  1922. font-weight: 500;
  1923. text-transform: uppercase;
  1924. cursor: default;
  1925. }
  1926. .getting-started__wrapper,
  1927. .getting-started,
  1928. .flex-spacer {
  1929. background: $ui-base-color;
  1930. }
  1931. .getting-started__wrapper {
  1932. flex: 0 0 auto;
  1933. }
  1934. .flex-spacer {
  1935. flex: 1 1 auto;
  1936. }
  1937. .getting-started {
  1938. color: $dark-text-color;
  1939. &__footer {
  1940. flex: 0 0 auto;
  1941. padding: 10px;
  1942. padding-top: 20px;
  1943. ul {
  1944. margin-bottom: 10px;
  1945. }
  1946. ul li {
  1947. display: inline;
  1948. }
  1949. p {
  1950. color: $dark-text-color;
  1951. font-size: 13px;
  1952. margin-bottom: 20px;
  1953. a {
  1954. color: $dark-text-color;
  1955. text-decoration: underline;
  1956. }
  1957. }
  1958. a {
  1959. text-decoration: none;
  1960. color: $darker-text-color;
  1961. &:hover,
  1962. &:focus,
  1963. &:active {
  1964. text-decoration: underline;
  1965. }
  1966. }
  1967. }
  1968. &__trends {
  1969. background: $ui-base-color;
  1970. flex: 0 1 auto;
  1971. @media screen and (max-height: 810px) {
  1972. .trends__item:nth-child(3) {
  1973. display: none;
  1974. }
  1975. }
  1976. @media screen and (max-height: 720px) {
  1977. .trends__item:nth-child(2) {
  1978. display: none;
  1979. }
  1980. }
  1981. @media screen and (max-height: 670px) {
  1982. display: none;
  1983. }
  1984. }
  1985. &__scrollable {
  1986. max-height: 100%;
  1987. overflow-y: auto;
  1988. }
  1989. }
  1990. .keyboard-shortcuts {
  1991. padding: 8px 0 0;
  1992. overflow: hidden;
  1993. thead {
  1994. position: absolute;
  1995. left: -9999px;
  1996. }
  1997. td {
  1998. padding: 0 10px 8px;
  1999. }
  2000. kbd {
  2001. display: inline-block;
  2002. padding: 3px 5px;
  2003. background-color: lighten($ui-base-color, 8%);
  2004. border: 1px solid darken($ui-base-color, 4%);
  2005. }
  2006. }
  2007. .setting-text {
  2008. color: $darker-text-color;
  2009. background: transparent;
  2010. border: none;
  2011. border-bottom: 2px solid $ui-primary-color;
  2012. box-sizing: border-box;
  2013. display: block;
  2014. font-family: inherit;
  2015. margin-bottom: 10px;
  2016. padding: 7px 0;
  2017. width: 100%;
  2018. &:focus,
  2019. &:active {
  2020. color: $primary-text-color;
  2021. border-bottom-color: $highlight-text-color;
  2022. }
  2023. @media screen and (max-width: 600px) {
  2024. font-size: 16px;
  2025. }
  2026. }
  2027. .no-reduce-motion button.icon-button i.fa-retweet {
  2028. background-position: 0 0;
  2029. height: 19px;
  2030. transition: background-position 0.9s steps(10);
  2031. transition-duration: 0s;
  2032. vertical-align: middle;
  2033. width: 22px;
  2034. &::before {
  2035. display: none !important;
  2036. }
  2037. }
  2038. .no-reduce-motion button.icon-button.active i.fa-retweet {
  2039. transition-duration: 0.9s;
  2040. background-position: 0 100%;
  2041. }
  2042. .reduce-motion button.icon-button i.fa-retweet {
  2043. color: $action-button-color;
  2044. transition: color 100ms ease-in;
  2045. }
  2046. .reduce-motion button.icon-button.active i.fa-retweet {
  2047. color: $highlight-text-color;
  2048. }
  2049. .status-card {
  2050. display: flex;
  2051. font-size: 14px;
  2052. border: 1px solid lighten($ui-base-color, 8%);
  2053. border-radius: 4px;
  2054. color: $dark-text-color;
  2055. margin-top: 14px;
  2056. text-decoration: none;
  2057. overflow: hidden;
  2058. &__actions {
  2059. bottom: 0;
  2060. left: 0;
  2061. position: absolute;
  2062. right: 0;
  2063. top: 0;
  2064. display: flex;
  2065. justify-content: center;
  2066. align-items: center;
  2067. & > div {
  2068. background: rgba($base-shadow-color, 0.6);
  2069. border-radius: 4px;
  2070. padding: 12px 9px;
  2071. flex: 0 0 auto;
  2072. display: flex;
  2073. justify-content: center;
  2074. align-items: center;
  2075. }
  2076. button,
  2077. a {
  2078. display: inline;
  2079. color: $primary-text-color;
  2080. background: transparent;
  2081. border: 0;
  2082. padding: 0 5px;
  2083. text-decoration: none;
  2084. opacity: 0.6;
  2085. font-size: 18px;
  2086. line-height: 18px;
  2087. &:hover,
  2088. &:active,
  2089. &:focus {
  2090. opacity: 1;
  2091. }
  2092. }
  2093. a {
  2094. font-size: 19px;
  2095. position: relative;
  2096. bottom: -1px;
  2097. }
  2098. }
  2099. }
  2100. a.status-card {
  2101. cursor: pointer;
  2102. &:hover {
  2103. background: lighten($ui-base-color, 8%);
  2104. }
  2105. }
  2106. .status-card-photo {
  2107. cursor: zoom-in;
  2108. display: block;
  2109. text-decoration: none;
  2110. width: 100%;
  2111. height: auto;
  2112. margin: 0;
  2113. }
  2114. .status-card-video {
  2115. iframe {
  2116. width: 100%;
  2117. height: 100%;
  2118. }
  2119. }
  2120. .status-card__title {
  2121. display: block;
  2122. font-weight: 500;
  2123. margin-bottom: 5px;
  2124. color: $darker-text-color;
  2125. overflow: hidden;
  2126. text-overflow: ellipsis;
  2127. white-space: nowrap;
  2128. text-decoration: none;
  2129. }
  2130. .status-card__content {
  2131. flex: 1 1 auto;
  2132. overflow: hidden;
  2133. padding: 14px 14px 14px 8px;
  2134. }
  2135. .status-card__description {
  2136. color: $darker-text-color;
  2137. }
  2138. .status-card__host {
  2139. display: block;
  2140. margin-top: 5px;
  2141. font-size: 13px;
  2142. }
  2143. .status-card__image {
  2144. flex: 0 0 100px;
  2145. background: lighten($ui-base-color, 8%);
  2146. position: relative;
  2147. }
  2148. .status-card.horizontal {
  2149. display: block;
  2150. .status-card__image {
  2151. width: 100%;
  2152. }
  2153. .status-card__image-image {
  2154. border-radius: 4px 4px 0 0;
  2155. }
  2156. .status-card__title {
  2157. white-space: inherit;
  2158. }
  2159. }
  2160. .status-card__image-image {
  2161. border-radius: 4px 0 0 4px;
  2162. display: block;
  2163. margin: 0;
  2164. width: 100%;
  2165. height: 100%;
  2166. object-fit: cover;
  2167. background-size: cover;
  2168. background-position: center center;
  2169. }
  2170. .load-more {
  2171. display: block;
  2172. color: $dark-text-color;
  2173. background-color: transparent;
  2174. border: 0;
  2175. font-size: inherit;
  2176. text-align: center;
  2177. line-height: inherit;
  2178. margin: 0;
  2179. padding: 15px;
  2180. box-sizing: border-box;
  2181. width: 100%;
  2182. clear: both;
  2183. text-decoration: none;
  2184. &:hover {
  2185. background: lighten($ui-base-color, 2%);
  2186. }
  2187. }
  2188. .load-gap {
  2189. border-bottom: 1px solid lighten($ui-base-color, 8%);
  2190. }
  2191. .regeneration-indicator {
  2192. text-align: center;
  2193. font-size: 16px;
  2194. font-weight: 500;
  2195. color: $dark-text-color;
  2196. background: $ui-base-color;
  2197. cursor: default;
  2198. display: flex;
  2199. flex: 1 1 auto;
  2200. align-items: center;
  2201. justify-content: center;
  2202. padding: 20px;
  2203. & > div {
  2204. width: 100%;
  2205. background: transparent;
  2206. padding-top: 0;
  2207. }
  2208. &__figure {
  2209. background: url('../images/elephant_ui_working.svg') no-repeat center 0;
  2210. width: 100%;
  2211. height: 160px;
  2212. background-size: contain;
  2213. position: absolute;
  2214. top: 50%;
  2215. left: 50%;
  2216. transform: translate(-50%, -50%);
  2217. }
  2218. &.missing-indicator {
  2219. padding-top: 20px + 48px;
  2220. .regeneration-indicator__figure {
  2221. background-image: url('../images/elephant_ui_disappointed.svg');
  2222. }
  2223. }
  2224. &__label {
  2225. margin-top: 200px;
  2226. strong {
  2227. display: block;
  2228. margin-bottom: 10px;
  2229. color: $dark-text-color;
  2230. }
  2231. span {
  2232. font-size: 15px;
  2233. font-weight: 400;
  2234. }
  2235. }
  2236. }
  2237. .column-header__wrapper {
  2238. position: relative;
  2239. flex: 0 0 auto;
  2240. &.active {
  2241. &::before {
  2242. display: block;
  2243. content: "";
  2244. position: absolute;
  2245. top: 35px;
  2246. left: 0;
  2247. right: 0;
  2248. margin: 0 auto;
  2249. width: 60%;
  2250. pointer-events: none;
  2251. height: 28px;
  2252. z-index: 1;
  2253. background: radial-gradient(ellipse, rgba($ui-highlight-color, 0.23) 0%, rgba($ui-highlight-color, 0) 60%);
  2254. }
  2255. }
  2256. }
  2257. .column-header {
  2258. display: flex;
  2259. font-size: 16px;
  2260. background: lighten($ui-base-color, 4%);
  2261. flex: 0 0 auto;
  2262. cursor: pointer;
  2263. position: relative;
  2264. z-index: 2;
  2265. outline: 0;
  2266. overflow: hidden;
  2267. & > button {
  2268. margin: 0;
  2269. border: none;
  2270. padding: 15px 0 15px 15px;
  2271. color: inherit;
  2272. background: transparent;
  2273. font: inherit;
  2274. text-align: left;
  2275. text-overflow: ellipsis;
  2276. overflow: hidden;
  2277. white-space: nowrap;
  2278. flex: 1;
  2279. }
  2280. & > .column-header__back-button {
  2281. color: $highlight-text-color;
  2282. }
  2283. &.active {
  2284. box-shadow: 0 1px 0 rgba($highlight-text-color, 0.3);
  2285. .column-header__icon {
  2286. color: $highlight-text-color;
  2287. text-shadow: 0 0 10px rgba($highlight-text-color, 0.4);
  2288. }
  2289. }
  2290. &:focus,
  2291. &:active {
  2292. outline: 0;
  2293. }
  2294. }
  2295. .column-header__buttons {
  2296. height: 48px;
  2297. display: flex;
  2298. }
  2299. .column-header__links .text-btn {
  2300. margin-right: 10px;
  2301. }
  2302. .column-header__button {
  2303. background: lighten($ui-base-color, 4%);
  2304. border: 0;
  2305. color: $darker-text-color;
  2306. cursor: pointer;
  2307. font-size: 16px;
  2308. padding: 0 15px;
  2309. &:hover {
  2310. color: lighten($darker-text-color, 7%);
  2311. }
  2312. &.active {
  2313. color: $primary-text-color;
  2314. background: lighten($ui-base-color, 8%);
  2315. &:hover {
  2316. color: $primary-text-color;
  2317. background: lighten($ui-base-color, 8%);
  2318. }
  2319. }
  2320. }
  2321. .column-header__collapsible {
  2322. max-height: 70vh;
  2323. overflow: hidden;
  2324. overflow-y: auto;
  2325. color: $darker-text-color;
  2326. transition: max-height 150ms ease-in-out, opacity 300ms linear;
  2327. opacity: 1;
  2328. &.collapsed {
  2329. max-height: 0;
  2330. opacity: 0.5;
  2331. }
  2332. &.animating {
  2333. overflow-y: hidden;
  2334. }
  2335. hr {
  2336. height: 0;
  2337. background: transparent;
  2338. border: 0;
  2339. border-top: 1px solid lighten($ui-base-color, 12%);
  2340. margin: 10px 0;
  2341. }
  2342. }
  2343. .column-header__collapsible-inner {
  2344. background: lighten($ui-base-color, 8%);
  2345. padding: 15px;
  2346. }
  2347. .column-header__setting-btn {
  2348. &:hover {
  2349. color: $darker-text-color;
  2350. text-decoration: underline;
  2351. }
  2352. }
  2353. .column-header__setting-arrows {
  2354. float: right;
  2355. .column-header__setting-btn {
  2356. padding: 0 10px;
  2357. &:last-child {
  2358. padding-right: 0;
  2359. }
  2360. }
  2361. }
  2362. .text-btn {
  2363. display: inline-block;
  2364. padding: 0;
  2365. font-family: inherit;
  2366. font-size: inherit;
  2367. color: inherit;
  2368. border: 0;
  2369. background: transparent;
  2370. cursor: pointer;
  2371. }
  2372. .column-header__icon {
  2373. display: inline-block;
  2374. margin-right: 5px;
  2375. }
  2376. .loading-indicator {
  2377. color: $dark-text-color;
  2378. font-size: 12px;
  2379. font-weight: 400;
  2380. text-transform: uppercase;
  2381. overflow: visible;
  2382. position: absolute;
  2383. top: 50%;
  2384. left: 50%;
  2385. transform: translate(-50%, -50%);
  2386. span {
  2387. display: block;
  2388. float: left;
  2389. margin-left: 50%;
  2390. transform: translateX(-50%);
  2391. margin: 82px 0 0 50%;
  2392. white-space: nowrap;
  2393. animation: loader-label 1.15s infinite cubic-bezier(0.215, 0.610, 0.355, 1.000);
  2394. }
  2395. }
  2396. .loading-indicator__figure {
  2397. position: absolute;
  2398. top: 50%;
  2399. left: 50%;
  2400. transform: translate(-50%, -50%);
  2401. width: 0;
  2402. height: 0;
  2403. box-sizing: border-box;
  2404. border: 0 solid lighten($ui-base-color, 26%);
  2405. border-radius: 50%;
  2406. animation: loader-figure 1.15s infinite cubic-bezier(0.215, 0.610, 0.355, 1.000);
  2407. }
  2408. @keyframes loader-figure {
  2409. 0% {
  2410. width: 0;
  2411. height: 0;
  2412. background-color: lighten($ui-base-color, 26%);
  2413. }
  2414. 29% {
  2415. background-color: lighten($ui-base-color, 26%);
  2416. }
  2417. 30% {
  2418. width: 42px;
  2419. height: 42px;
  2420. background-color: transparent;
  2421. border-width: 21px;
  2422. opacity: 1;
  2423. }
  2424. 100% {
  2425. width: 42px;
  2426. height: 42px;
  2427. border-width: 0;
  2428. opacity: 0;
  2429. background-color: transparent;
  2430. }
  2431. }
  2432. @keyframes loader-label {
  2433. 0% { opacity: 0.25; }
  2434. 30% { opacity: 1; }
  2435. 100% { opacity: 0.25; }
  2436. }
  2437. .video-error-cover {
  2438. align-items: center;
  2439. background: $base-overlay-background;
  2440. color: $primary-text-color;
  2441. cursor: pointer;
  2442. display: flex;
  2443. flex-direction: column;
  2444. height: 100%;
  2445. justify-content: center;
  2446. margin-top: 8px;
  2447. position: relative;
  2448. text-align: center;
  2449. z-index: 100;
  2450. }
  2451. .media-spoiler {
  2452. background: $base-overlay-background;
  2453. color: $darker-text-color;
  2454. border: 0;
  2455. padding: 0;
  2456. width: 100%;
  2457. height: 100%;
  2458. border-radius: 4px;
  2459. appearance: none;
  2460. &:hover,
  2461. &:active,
  2462. &:focus {
  2463. padding: 0;
  2464. color: lighten($darker-text-color, 8%);
  2465. }
  2466. }
  2467. .media-spoiler__warning {
  2468. display: block;
  2469. font-size: 14px;
  2470. }
  2471. .media-spoiler__trigger {
  2472. display: block;
  2473. font-size: 11px;
  2474. font-weight: 700;
  2475. }
  2476. .spoiler-button {
  2477. display: none;
  2478. left: 4px;
  2479. position: absolute;
  2480. text-shadow: 0 1px 1px $base-shadow-color, 1px 0 1px $base-shadow-color;
  2481. top: 4px;
  2482. z-index: 100;
  2483. &.spoiler-button--visible {
  2484. display: block;
  2485. }
  2486. }
  2487. .modal-container--preloader {
  2488. background: lighten($ui-base-color, 8%);
  2489. }
  2490. .account--panel {
  2491. background: lighten($ui-base-color, 4%);
  2492. border-top: 1px solid lighten($ui-base-color, 8%);
  2493. border-bottom: 1px solid lighten($ui-base-color, 8%);
  2494. display: flex;
  2495. flex-direction: row;
  2496. padding: 10px 0;
  2497. }
  2498. .account--panel__button,
  2499. .detailed-status__button {
  2500. flex: 1 1 auto;
  2501. text-align: center;
  2502. }
  2503. .column-settings__outer {
  2504. background: lighten($ui-base-color, 8%);
  2505. padding: 15px;
  2506. }
  2507. .column-settings__section {
  2508. color: $darker-text-color;
  2509. cursor: default;
  2510. display: block;
  2511. font-weight: 500;
  2512. margin-bottom: 10px;
  2513. }
  2514. .column-settings__row {
  2515. .text-btn {
  2516. margin-bottom: 15px;
  2517. }
  2518. }
  2519. .account--follows-info {
  2520. color: $primary-text-color;
  2521. position: absolute;
  2522. top: 10px;
  2523. left: 10px;
  2524. opacity: 0.7;
  2525. display: inline-block;
  2526. vertical-align: top;
  2527. background-color: rgba($base-overlay-background, 0.4);
  2528. text-transform: uppercase;
  2529. font-size: 11px;
  2530. font-weight: 500;
  2531. padding: 4px;
  2532. border-radius: 4px;
  2533. }
  2534. .account--muting-info {
  2535. color: $primary-text-color;
  2536. position: absolute;
  2537. top: 40px;
  2538. left: 10px;
  2539. opacity: 0.7;
  2540. display: inline-block;
  2541. vertical-align: top;
  2542. background-color: rgba($base-overlay-background, 0.4);
  2543. text-transform: uppercase;
  2544. font-size: 11px;
  2545. font-weight: 500;
  2546. padding: 4px;
  2547. border-radius: 4px;
  2548. }
  2549. .account--action-button {
  2550. position: absolute;
  2551. top: 10px;
  2552. right: 20px;
  2553. }
  2554. .setting-toggle {
  2555. display: block;
  2556. line-height: 24px;
  2557. }
  2558. .setting-toggle__label {
  2559. color: $darker-text-color;
  2560. display: inline-block;
  2561. margin-bottom: 14px;
  2562. margin-left: 8px;
  2563. vertical-align: middle;
  2564. }
  2565. .empty-column-indicator,
  2566. .error-column {
  2567. color: $dark-text-color;
  2568. background: $ui-base-color;
  2569. text-align: center;
  2570. padding: 20px;
  2571. font-size: 15px;
  2572. font-weight: 400;
  2573. cursor: default;
  2574. display: flex;
  2575. flex: 1 1 auto;
  2576. align-items: center;
  2577. justify-content: center;
  2578. @supports(display: grid) { // hack to fix Chrome <57
  2579. contain: strict;
  2580. }
  2581. a {
  2582. color: $highlight-text-color;
  2583. text-decoration: none;
  2584. &:hover {
  2585. text-decoration: underline;
  2586. }
  2587. }
  2588. }
  2589. .error-column {
  2590. flex-direction: column;
  2591. }
  2592. @keyframes heartbeat {
  2593. from {
  2594. transform: scale(1);
  2595. animation-timing-function: ease-out;
  2596. }
  2597. 10% {
  2598. transform: scale(0.91);
  2599. animation-timing-function: ease-in;
  2600. }
  2601. 17% {
  2602. transform: scale(0.98);
  2603. animation-timing-function: ease-out;
  2604. }
  2605. 33% {
  2606. transform: scale(0.87);
  2607. animation-timing-function: ease-in;
  2608. }
  2609. 45% {
  2610. transform: scale(1);
  2611. animation-timing-function: ease-out;
  2612. }
  2613. }
  2614. .no-reduce-motion .pulse-loading {
  2615. transform-origin: center center;
  2616. animation: heartbeat 1.5s ease-in-out infinite both;
  2617. }
  2618. @keyframes shake-bottom {
  2619. 0%,
  2620. 100% {
  2621. transform: rotate(0deg);
  2622. transform-origin: 50% 100%;
  2623. }
  2624. 10% {
  2625. transform: rotate(2deg);
  2626. }
  2627. 20%,
  2628. 40%,
  2629. 60% {
  2630. transform: rotate(-4deg);
  2631. }
  2632. 30%,
  2633. 50%,
  2634. 70% {
  2635. transform: rotate(4deg);
  2636. }
  2637. 80% {
  2638. transform: rotate(-2deg);
  2639. }
  2640. 90% {
  2641. transform: rotate(2deg);
  2642. }
  2643. }
  2644. .no-reduce-motion .shake-bottom {
  2645. transform-origin: 50% 100%;
  2646. animation: shake-bottom 0.8s cubic-bezier(0.455, 0.030, 0.515, 0.955) 2s 2 both;
  2647. }
  2648. .emoji-picker-dropdown__menu {
  2649. background: $simple-background-color;
  2650. position: absolute;
  2651. box-shadow: 4px 4px 6px rgba($base-shadow-color, 0.4);
  2652. border-radius: 4px;
  2653. margin-top: 5px;
  2654. .emoji-mart-scroll {
  2655. transition: opacity 200ms ease;
  2656. }
  2657. &.selecting .emoji-mart-scroll {
  2658. opacity: 0.5;
  2659. }
  2660. }
  2661. .emoji-picker-dropdown__modifiers {
  2662. position: absolute;
  2663. top: 60px;
  2664. right: 11px;
  2665. cursor: pointer;
  2666. }
  2667. .emoji-picker-dropdown__modifiers__menu {
  2668. position: absolute;
  2669. z-index: 4;
  2670. top: -4px;
  2671. left: -8px;
  2672. background: $simple-background-color;
  2673. border-radius: 4px;
  2674. box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2);
  2675. overflow: hidden;
  2676. button {
  2677. display: block;
  2678. cursor: pointer;
  2679. border: 0;
  2680. padding: 4px 8px;
  2681. background: transparent;
  2682. &:hover,
  2683. &:focus,
  2684. &:active {
  2685. background: rgba($ui-secondary-color, 0.4);
  2686. }
  2687. }
  2688. .emoji-mart-emoji {
  2689. height: 22px;
  2690. }
  2691. }
  2692. .emoji-mart-emoji {
  2693. span {
  2694. background-repeat: no-repeat;
  2695. }
  2696. }
  2697. .upload-area {
  2698. align-items: center;
  2699. background: rgba($base-overlay-background, 0.8);
  2700. display: flex;
  2701. height: 100%;
  2702. justify-content: center;
  2703. left: 0;
  2704. opacity: 0;
  2705. position: absolute;
  2706. top: 0;
  2707. visibility: hidden;
  2708. width: 100%;
  2709. z-index: 2000;
  2710. * {
  2711. pointer-events: none;
  2712. }
  2713. }
  2714. .upload-area__drop {
  2715. width: 320px;
  2716. height: 160px;
  2717. display: flex;
  2718. box-sizing: border-box;
  2719. position: relative;
  2720. padding: 8px;
  2721. }
  2722. .upload-area__background {
  2723. position: absolute;
  2724. top: 0;
  2725. right: 0;
  2726. bottom: 0;
  2727. left: 0;
  2728. z-index: -1;
  2729. border-radius: 4px;
  2730. background: $ui-base-color;
  2731. box-shadow: 0 0 5px rgba($base-shadow-color, 0.2);
  2732. }
  2733. .upload-area__content {
  2734. flex: 1;
  2735. display: flex;
  2736. align-items: center;
  2737. justify-content: center;
  2738. color: $secondary-text-color;
  2739. font-size: 18px;
  2740. font-weight: 500;
  2741. border: 2px dashed $ui-base-lighter-color;
  2742. border-radius: 4px;
  2743. }
  2744. .upload-progress {
  2745. padding: 10px;
  2746. color: $lighter-text-color;
  2747. overflow: hidden;
  2748. display: flex;
  2749. .fa {
  2750. font-size: 34px;
  2751. margin-right: 10px;
  2752. }
  2753. span {
  2754. font-size: 12px;
  2755. text-transform: uppercase;
  2756. font-weight: 500;
  2757. display: block;
  2758. }
  2759. }
  2760. .upload-progess__message {
  2761. flex: 1 1 auto;
  2762. }
  2763. .upload-progress__backdrop {
  2764. width: 100%;
  2765. height: 6px;
  2766. border-radius: 6px;
  2767. background: $ui-base-lighter-color;
  2768. position: relative;
  2769. margin-top: 5px;
  2770. }
  2771. .upload-progress__tracker {
  2772. position: absolute;
  2773. left: 0;
  2774. top: 0;
  2775. height: 6px;
  2776. background: $ui-highlight-color;
  2777. border-radius: 6px;
  2778. }
  2779. .emoji-button {
  2780. display: block;
  2781. font-size: 24px;
  2782. line-height: 24px;
  2783. margin-left: 2px;
  2784. width: 24px;
  2785. outline: 0;
  2786. cursor: pointer;
  2787. &:active,
  2788. &:focus {
  2789. outline: 0 !important;
  2790. }
  2791. img {
  2792. filter: grayscale(100%);
  2793. opacity: 0.8;
  2794. display: block;
  2795. margin: 0;
  2796. width: 22px;
  2797. height: 22px;
  2798. margin-top: 2px;
  2799. }
  2800. &:hover,
  2801. &:active,
  2802. &:focus {
  2803. img {
  2804. opacity: 1;
  2805. filter: none;
  2806. }
  2807. }
  2808. }
  2809. .dropdown--active .emoji-button img {
  2810. opacity: 1;
  2811. filter: none;
  2812. }
  2813. .privacy-dropdown__dropdown {
  2814. position: absolute;
  2815. background: $simple-background-color;
  2816. box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
  2817. border-radius: 4px;
  2818. margin-left: 40px;
  2819. overflow: hidden;
  2820. &.top {
  2821. transform-origin: 50% 100%;
  2822. }
  2823. &.bottom {
  2824. transform-origin: 50% 0;
  2825. }
  2826. }
  2827. .privacy-dropdown__option {
  2828. color: $inverted-text-color;
  2829. padding: 10px;
  2830. cursor: pointer;
  2831. display: flex;
  2832. &:hover,
  2833. &.active {
  2834. background: $ui-highlight-color;
  2835. color: $primary-text-color;
  2836. outline: 0;
  2837. .privacy-dropdown__option__content {
  2838. color: $primary-text-color;
  2839. strong {
  2840. color: $primary-text-color;
  2841. }
  2842. }
  2843. }
  2844. &.active:hover {
  2845. background: lighten($ui-highlight-color, 4%);
  2846. }
  2847. }
  2848. .privacy-dropdown__option__icon {
  2849. display: flex;
  2850. align-items: center;
  2851. justify-content: center;
  2852. margin-right: 10px;
  2853. }
  2854. .privacy-dropdown__option__content {
  2855. flex: 1 1 auto;
  2856. color: $lighter-text-color;
  2857. strong {
  2858. font-weight: 500;
  2859. display: block;
  2860. color: $inverted-text-color;
  2861. @each $lang in $cjk-langs {
  2862. &:lang(#{$lang}) {
  2863. font-weight: 700;
  2864. }
  2865. }
  2866. }
  2867. }
  2868. .privacy-dropdown.active {
  2869. .privacy-dropdown__value {
  2870. background: $simple-background-color;
  2871. border-radius: 4px 4px 0 0;
  2872. box-shadow: 0 -4px 4px rgba($base-shadow-color, 0.1);
  2873. .icon-button {
  2874. transition: none;
  2875. }
  2876. &.active {
  2877. background: $ui-highlight-color;
  2878. .icon-button {
  2879. color: $primary-text-color;
  2880. }
  2881. }
  2882. }
  2883. &.top .privacy-dropdown__value {
  2884. border-radius: 0 0 4px 4px;
  2885. }
  2886. .privacy-dropdown__dropdown {
  2887. display: block;
  2888. box-shadow: 2px 4px 6px rgba($base-shadow-color, 0.1);
  2889. }
  2890. }
  2891. .search {
  2892. position: relative;
  2893. }
  2894. .search__input {
  2895. outline: 0;
  2896. box-sizing: border-box;
  2897. display: block;
  2898. width: 100%;
  2899. border: none;
  2900. padding: 10px;
  2901. padding-right: 30px;
  2902. font-family: inherit;
  2903. background: $ui-base-color;
  2904. color: $darker-text-color;
  2905. font-size: 14px;
  2906. margin: 0;
  2907. &::-moz-focus-inner {
  2908. border: 0;
  2909. }
  2910. &::-moz-focus-inner,
  2911. &:focus,
  2912. &:active {
  2913. outline: 0 !important;
  2914. }
  2915. &:focus {
  2916. background: lighten($ui-base-color, 4%);
  2917. }
  2918. @media screen and (max-width: 600px) {
  2919. font-size: 16px;
  2920. }
  2921. }
  2922. .search__icon {
  2923. &::-moz-focus-inner {
  2924. border: 0;
  2925. }
  2926. &::-moz-focus-inner,
  2927. &:focus {
  2928. outline: 0 !important;
  2929. }
  2930. .fa {
  2931. position: absolute;
  2932. top: 10px;
  2933. right: 10px;
  2934. z-index: 2;
  2935. display: inline-block;
  2936. opacity: 0;
  2937. transition: all 100ms linear;
  2938. font-size: 18px;
  2939. width: 18px;
  2940. height: 18px;
  2941. color: $secondary-text-color;
  2942. cursor: default;
  2943. pointer-events: none;
  2944. &.active {
  2945. pointer-events: auto;
  2946. opacity: 0.3;
  2947. }
  2948. }
  2949. .fa-search {
  2950. transform: rotate(90deg);
  2951. &.active {
  2952. pointer-events: none;
  2953. transform: rotate(0deg);
  2954. }
  2955. }
  2956. .fa-times-circle {
  2957. top: 11px;
  2958. transform: rotate(0deg);
  2959. color: $action-button-color;
  2960. cursor: pointer;
  2961. &.active {
  2962. transform: rotate(90deg);
  2963. }
  2964. &:hover {
  2965. color: lighten($action-button-color, 7%);
  2966. }
  2967. }
  2968. }
  2969. .search-results__header {
  2970. color: $dark-text-color;
  2971. background: lighten($ui-base-color, 2%);
  2972. padding: 15px;
  2973. font-weight: 500;
  2974. font-size: 16px;
  2975. cursor: default;
  2976. .fa {
  2977. display: inline-block;
  2978. margin-right: 5px;
  2979. }
  2980. }
  2981. .search-results__section {
  2982. margin-bottom: 5px;
  2983. h5 {
  2984. background: darken($ui-base-color, 4%);
  2985. border-bottom: 1px solid lighten($ui-base-color, 8%);
  2986. cursor: default;
  2987. display: flex;
  2988. padding: 15px;
  2989. font-weight: 500;
  2990. font-size: 16px;
  2991. color: $dark-text-color;
  2992. .fa {
  2993. display: inline-block;
  2994. margin-right: 5px;
  2995. }
  2996. }
  2997. .account:last-child,
  2998. & > div:last-child .status {
  2999. border-bottom: 0;
  3000. }
  3001. }
  3002. .search-results__hashtag {
  3003. display: block;
  3004. padding: 10px;
  3005. color: $secondary-text-color;
  3006. text-decoration: none;
  3007. &:hover,
  3008. &:active,
  3009. &:focus {
  3010. color: lighten($secondary-text-color, 4%);
  3011. text-decoration: underline;
  3012. }
  3013. }
  3014. .modal-root {
  3015. position: relative;
  3016. transition: opacity 0.3s linear;
  3017. will-change: opacity;
  3018. z-index: 9999;
  3019. }
  3020. .modal-root__overlay {
  3021. position: fixed;
  3022. top: 0;
  3023. left: 0;
  3024. right: 0;
  3025. bottom: 0;
  3026. background: rgba($base-overlay-background, 0.7);
  3027. }
  3028. .modal-root__container {
  3029. position: fixed;
  3030. top: 0;
  3031. left: 0;
  3032. width: 100%;
  3033. height: 100%;
  3034. display: flex;
  3035. flex-direction: column;
  3036. align-items: center;
  3037. justify-content: center;
  3038. align-content: space-around;
  3039. z-index: 9999;
  3040. pointer-events: none;
  3041. user-select: none;
  3042. }
  3043. .modal-root__modal {
  3044. pointer-events: auto;
  3045. display: flex;
  3046. z-index: 9999;
  3047. }
  3048. .video-modal {
  3049. max-width: 100vw;
  3050. max-height: 100vh;
  3051. position: relative;
  3052. }
  3053. .media-modal {
  3054. width: 100%;
  3055. height: 100%;
  3056. position: relative;
  3057. .extended-video-player {
  3058. width: 100%;
  3059. height: 100%;
  3060. display: flex;
  3061. align-items: center;
  3062. justify-content: center;
  3063. video {
  3064. max-width: $media-modal-media-max-width;
  3065. max-height: $media-modal-media-max-height;
  3066. }
  3067. }
  3068. }
  3069. .media-modal__closer {
  3070. position: absolute;
  3071. top: 0;
  3072. left: 0;
  3073. right: 0;
  3074. bottom: 0;
  3075. }
  3076. .media-modal__navigation {
  3077. position: absolute;
  3078. top: 0;
  3079. left: 0;
  3080. right: 0;
  3081. bottom: 0;
  3082. pointer-events: none;
  3083. transition: opacity 0.3s linear;
  3084. will-change: opacity;
  3085. * {
  3086. pointer-events: auto;
  3087. }
  3088. &.media-modal__navigation--hidden {
  3089. opacity: 0;
  3090. * {
  3091. pointer-events: none;
  3092. }
  3093. }
  3094. }
  3095. .media-modal__nav {
  3096. background: rgba($base-overlay-background, 0.5);
  3097. box-sizing: border-box;
  3098. border: 0;
  3099. color: $primary-text-color;
  3100. cursor: pointer;
  3101. display: flex;
  3102. align-items: center;
  3103. font-size: 24px;
  3104. height: 20vmax;
  3105. margin: auto 0;
  3106. padding: 30px 15px;
  3107. position: absolute;
  3108. top: 0;
  3109. bottom: 0;
  3110. }
  3111. .media-modal__nav--left {
  3112. left: 0;
  3113. }
  3114. .media-modal__nav--right {
  3115. right: 0;
  3116. }
  3117. .media-modal__pagination {
  3118. width: 100%;
  3119. text-align: center;
  3120. position: absolute;
  3121. left: 0;
  3122. bottom: 20px;
  3123. pointer-events: none;
  3124. }
  3125. .media-modal__page-dot {
  3126. display: inline-block;
  3127. }
  3128. .media-modal__button {
  3129. background-color: $primary-text-color;
  3130. height: 12px;
  3131. width: 12px;
  3132. border-radius: 6px;
  3133. margin: 10px;
  3134. padding: 0;
  3135. border: 0;
  3136. font-size: 0;
  3137. }
  3138. .media-modal__button--active {
  3139. background-color: $highlight-text-color;
  3140. }
  3141. .media-modal__close {
  3142. position: absolute;
  3143. right: 8px;
  3144. top: 8px;
  3145. z-index: 100;
  3146. }
  3147. .onboarding-modal,
  3148. .error-modal,
  3149. .embed-modal {
  3150. background: $ui-secondary-color;
  3151. color: $inverted-text-color;
  3152. border-radius: 8px;
  3153. overflow: hidden;
  3154. display: flex;
  3155. flex-direction: column;
  3156. }
  3157. .onboarding-modal__pager {
  3158. height: 80vh;
  3159. width: 80vw;
  3160. max-width: 520px;
  3161. max-height: 470px;
  3162. .react-swipeable-view-container > div {
  3163. width: 100%;
  3164. height: 100%;
  3165. box-sizing: border-box;
  3166. display: none;
  3167. flex-direction: column;
  3168. align-items: center;
  3169. justify-content: center;
  3170. display: flex;
  3171. user-select: text;
  3172. }
  3173. }
  3174. .error-modal__body {
  3175. height: 80vh;
  3176. width: 80vw;
  3177. max-width: 520px;
  3178. max-height: 420px;
  3179. position: relative;
  3180. & > div {
  3181. position: absolute;
  3182. top: 0;
  3183. left: 0;
  3184. width: 100%;
  3185. height: 100%;
  3186. box-sizing: border-box;
  3187. padding: 25px;
  3188. display: none;
  3189. flex-direction: column;
  3190. align-items: center;
  3191. justify-content: center;
  3192. display: flex;
  3193. opacity: 0;
  3194. user-select: text;
  3195. }
  3196. }
  3197. .error-modal__body {
  3198. display: flex;
  3199. flex-direction: column;
  3200. justify-content: center;
  3201. align-items: center;
  3202. text-align: center;
  3203. }
  3204. @media screen and (max-width: 550px) {
  3205. .onboarding-modal {
  3206. width: 100%;
  3207. height: 100%;
  3208. border-radius: 0;
  3209. }
  3210. .onboarding-modal__pager {
  3211. width: 100%;
  3212. height: auto;
  3213. max-width: none;
  3214. max-height: none;
  3215. flex: 1 1 auto;
  3216. }
  3217. }
  3218. .onboarding-modal__paginator,
  3219. .error-modal__footer {
  3220. flex: 0 0 auto;
  3221. background: darken($ui-secondary-color, 8%);
  3222. display: flex;
  3223. padding: 25px;
  3224. & > div {
  3225. min-width: 33px;
  3226. }
  3227. .onboarding-modal__nav,
  3228. .error-modal__nav {
  3229. color: $lighter-text-color;
  3230. border: 0;
  3231. font-size: 14px;
  3232. font-weight: 500;
  3233. padding: 10px 25px;
  3234. line-height: inherit;
  3235. height: auto;
  3236. margin: -10px;
  3237. border-radius: 4px;
  3238. background-color: transparent;
  3239. &:hover,
  3240. &:focus,
  3241. &:active {
  3242. color: darken($lighter-text-color, 4%);
  3243. background-color: darken($ui-secondary-color, 16%);
  3244. }
  3245. &.onboarding-modal__done,
  3246. &.onboarding-modal__next {
  3247. color: $inverted-text-color;
  3248. &:hover,
  3249. &:focus,
  3250. &:active {
  3251. color: lighten($inverted-text-color, 4%);
  3252. }
  3253. }
  3254. }
  3255. }
  3256. .error-modal__footer {
  3257. justify-content: center;
  3258. }
  3259. .onboarding-modal__dots {
  3260. flex: 1 1 auto;
  3261. display: flex;
  3262. align-items: center;
  3263. justify-content: center;
  3264. }
  3265. .onboarding-modal__dot {
  3266. width: 14px;
  3267. height: 14px;
  3268. border-radius: 14px;
  3269. background: darken($ui-secondary-color, 16%);
  3270. margin: 0 3px;
  3271. cursor: pointer;
  3272. &:hover {
  3273. background: darken($ui-secondary-color, 18%);
  3274. }
  3275. &.active {
  3276. cursor: default;
  3277. background: darken($ui-secondary-color, 24%);
  3278. }
  3279. }
  3280. .onboarding-modal__page__wrapper {
  3281. pointer-events: none;
  3282. padding: 25px;
  3283. padding-bottom: 0;
  3284. &.onboarding-modal__page__wrapper--active {
  3285. pointer-events: auto;
  3286. }
  3287. }
  3288. .onboarding-modal__page {
  3289. cursor: default;
  3290. line-height: 21px;
  3291. h1 {
  3292. font-size: 18px;
  3293. font-weight: 500;
  3294. color: $inverted-text-color;
  3295. margin-bottom: 20px;
  3296. }
  3297. a {
  3298. color: $highlight-text-color;
  3299. &:hover,
  3300. &:focus,
  3301. &:active {
  3302. color: lighten($highlight-text-color, 4%);
  3303. }
  3304. }
  3305. .navigation-bar a {
  3306. color: inherit;
  3307. }
  3308. p {
  3309. font-size: 16px;
  3310. color: $lighter-text-color;
  3311. margin-top: 10px;
  3312. margin-bottom: 10px;
  3313. &:last-child {
  3314. margin-bottom: 0;
  3315. }
  3316. strong {
  3317. font-weight: 500;
  3318. background: $ui-base-color;
  3319. color: $secondary-text-color;
  3320. border-radius: 4px;
  3321. font-size: 14px;
  3322. padding: 3px 6px;
  3323. @each $lang in $cjk-langs {
  3324. &:lang(#{$lang}) {
  3325. font-weight: 700;
  3326. }
  3327. }
  3328. }
  3329. }
  3330. }
  3331. .onboarding-modal__page__wrapper-0 {
  3332. background: url('../images/elephant_ui_greeting.svg') no-repeat left bottom / auto 250px;
  3333. height: 100%;
  3334. padding: 0;
  3335. }
  3336. .onboarding-modal__page-one {
  3337. &__lead {
  3338. padding: 65px;
  3339. padding-top: 45px;
  3340. padding-bottom: 0;
  3341. margin-bottom: 10px;
  3342. h1 {
  3343. font-size: 26px;
  3344. line-height: 36px;
  3345. margin-bottom: 8px;
  3346. }
  3347. p {
  3348. margin-bottom: 0;
  3349. }
  3350. }
  3351. &__extra {
  3352. padding-right: 65px;
  3353. padding-left: 185px;
  3354. text-align: center;
  3355. }
  3356. }
  3357. .display-case {
  3358. text-align: center;
  3359. font-size: 15px;
  3360. margin-bottom: 15px;
  3361. &__label {
  3362. font-weight: 500;
  3363. color: $inverted-text-color;
  3364. margin-bottom: 5px;
  3365. text-transform: uppercase;
  3366. font-size: 12px;
  3367. }
  3368. &__case {
  3369. background: $ui-base-color;
  3370. color: $secondary-text-color;
  3371. font-weight: 500;
  3372. padding: 10px;
  3373. border-radius: 4px;
  3374. }
  3375. }
  3376. .onboarding-modal__page-two,
  3377. .onboarding-modal__page-three,
  3378. .onboarding-modal__page-four,
  3379. .onboarding-modal__page-five {
  3380. p {
  3381. text-align: left;
  3382. }
  3383. .figure {
  3384. background: darken($ui-base-color, 8%);
  3385. color: $secondary-text-color;
  3386. margin-bottom: 20px;
  3387. border-radius: 4px;
  3388. padding: 10px;
  3389. text-align: center;
  3390. font-size: 14px;
  3391. box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.3);
  3392. .onboarding-modal__image {
  3393. border-radius: 4px;
  3394. margin-bottom: 10px;
  3395. }
  3396. &.non-interactive {
  3397. pointer-events: none;
  3398. text-align: left;
  3399. }
  3400. }
  3401. }
  3402. .onboarding-modal__page-four__columns {
  3403. .row {
  3404. display: flex;
  3405. margin-bottom: 20px;
  3406. & > div {
  3407. flex: 1 1 0;
  3408. margin: 0 10px;
  3409. &:first-child {
  3410. margin-left: 0;
  3411. }
  3412. &:last-child {
  3413. margin-right: 0;
  3414. }
  3415. p {
  3416. text-align: center;
  3417. }
  3418. }
  3419. &:last-child {
  3420. margin-bottom: 0;
  3421. }
  3422. }
  3423. .column-header {
  3424. color: $primary-text-color;
  3425. }
  3426. }
  3427. @media screen and (max-width: 320px) and (max-height: 600px) {
  3428. .onboarding-modal__page p {
  3429. font-size: 14px;
  3430. line-height: 20px;
  3431. }
  3432. .onboarding-modal__page-two .figure,
  3433. .onboarding-modal__page-three .figure,
  3434. .onboarding-modal__page-four .figure,
  3435. .onboarding-modal__page-five .figure {
  3436. font-size: 12px;
  3437. margin-bottom: 10px;
  3438. }
  3439. .onboarding-modal__page-four__columns .row {
  3440. margin-bottom: 10px;
  3441. }
  3442. .onboarding-modal__page-four__columns .column-header {
  3443. padding: 5px;
  3444. font-size: 12px;
  3445. }
  3446. }
  3447. .onboard-sliders {
  3448. display: inline-block;
  3449. max-width: 30px;
  3450. max-height: auto;
  3451. margin-left: 10px;
  3452. }
  3453. .boost-modal,
  3454. .confirmation-modal,
  3455. .report-modal,
  3456. .actions-modal,
  3457. .mute-modal {
  3458. background: lighten($ui-secondary-color, 8%);
  3459. color: $inverted-text-color;
  3460. border-radius: 8px;
  3461. overflow: hidden;
  3462. max-width: 90vw;
  3463. width: 480px;
  3464. position: relative;
  3465. flex-direction: column;
  3466. .status__display-name {
  3467. display: block;
  3468. max-width: 100%;
  3469. padding-right: 25px;
  3470. }
  3471. .status__avatar {
  3472. height: 28px;
  3473. left: 10px;
  3474. position: absolute;
  3475. top: 10px;
  3476. width: 48px;
  3477. }
  3478. .status__content__spoiler-link {
  3479. color: lighten($secondary-text-color, 8%);
  3480. }
  3481. }
  3482. .actions-modal {
  3483. .status {
  3484. background: $white;
  3485. border-bottom-color: $ui-secondary-color;
  3486. padding-top: 10px;
  3487. padding-bottom: 10px;
  3488. }
  3489. .dropdown-menu__separator {
  3490. border-bottom-color: $ui-secondary-color;
  3491. }
  3492. }
  3493. .boost-modal__container {
  3494. overflow-x: scroll;
  3495. padding: 10px;
  3496. .status {
  3497. user-select: text;
  3498. border-bottom: 0;
  3499. }
  3500. }
  3501. .boost-modal__action-bar,
  3502. .confirmation-modal__action-bar,
  3503. .mute-modal__action-bar {
  3504. display: flex;
  3505. justify-content: space-between;
  3506. background: $ui-secondary-color;
  3507. padding: 10px;
  3508. line-height: 36px;
  3509. & > div {
  3510. flex: 1 1 auto;
  3511. text-align: right;
  3512. color: $lighter-text-color;
  3513. padding-right: 10px;
  3514. }
  3515. .button {
  3516. flex: 0 0 auto;
  3517. }
  3518. }
  3519. .boost-modal__status-header {
  3520. font-size: 15px;
  3521. }
  3522. .boost-modal__status-time {
  3523. float: right;
  3524. font-size: 14px;
  3525. }
  3526. .confirmation-modal {
  3527. max-width: 85vw;
  3528. @media screen and (min-width: 480px) {
  3529. max-width: 380px;
  3530. }
  3531. }
  3532. .mute-modal {
  3533. line-height: 24px;
  3534. }
  3535. .mute-modal .react-toggle {
  3536. vertical-align: middle;
  3537. }
  3538. .report-modal {
  3539. width: 90vw;
  3540. max-width: 700px;
  3541. }
  3542. .report-modal__container {
  3543. display: flex;
  3544. border-top: 1px solid $ui-secondary-color;
  3545. @media screen and (max-width: 480px) {
  3546. flex-wrap: wrap;
  3547. overflow-y: auto;
  3548. }
  3549. }
  3550. .report-modal__statuses,
  3551. .report-modal__comment {
  3552. box-sizing: border-box;
  3553. width: 50%;
  3554. @media screen and (max-width: 480px) {
  3555. width: 100%;
  3556. }
  3557. }
  3558. .report-modal__statuses {
  3559. flex: 1 1 auto;
  3560. min-height: 20vh;
  3561. max-height: 80vh;
  3562. overflow-y: auto;
  3563. overflow-x: hidden;
  3564. .status__content a {
  3565. color: $highlight-text-color;
  3566. }
  3567. .status__content p {
  3568. color: $inverted-text-color;
  3569. }
  3570. @media screen and (max-width: 480px) {
  3571. max-height: 10vh;
  3572. }
  3573. }
  3574. .report-modal__comment {
  3575. padding: 20px;
  3576. border-right: 1px solid $ui-secondary-color;
  3577. max-width: 320px;
  3578. p {
  3579. font-size: 14px;
  3580. line-height: 20px;
  3581. margin-bottom: 20px;
  3582. }
  3583. .setting-text {
  3584. display: block;
  3585. box-sizing: border-box;
  3586. width: 100%;
  3587. margin: 0;
  3588. color: $inverted-text-color;
  3589. background: $white;
  3590. padding: 10px;
  3591. font-family: inherit;
  3592. font-size: 14px;
  3593. resize: vertical;
  3594. border: 0;
  3595. outline: 0;
  3596. border-radius: 4px;
  3597. border: 1px solid $ui-secondary-color;
  3598. margin-bottom: 20px;
  3599. &:focus {
  3600. border: 1px solid darken($ui-secondary-color, 8%);
  3601. }
  3602. }
  3603. .setting-toggle {
  3604. margin-top: 20px;
  3605. margin-bottom: 24px;
  3606. &__label {
  3607. color: $inverted-text-color;
  3608. font-size: 14px;
  3609. }
  3610. }
  3611. @media screen and (max-width: 480px) {
  3612. padding: 10px;
  3613. max-width: 100%;
  3614. order: 2;
  3615. .setting-toggle {
  3616. margin-bottom: 4px;
  3617. }
  3618. }
  3619. }
  3620. .actions-modal {
  3621. .status {
  3622. overflow-y: auto;
  3623. max-height: 300px;
  3624. }
  3625. max-height: 80vh;
  3626. max-width: 80vw;
  3627. .actions-modal__item-label {
  3628. font-weight: 500;
  3629. }
  3630. ul {
  3631. overflow-y: auto;
  3632. flex-shrink: 0;
  3633. li:empty {
  3634. margin: 0;
  3635. }
  3636. li:not(:empty) {
  3637. a {
  3638. color: $inverted-text-color;
  3639. display: flex;
  3640. padding: 12px 16px;
  3641. font-size: 15px;
  3642. align-items: center;
  3643. text-decoration: none;
  3644. &,
  3645. button {
  3646. transition: none;
  3647. }
  3648. &.active,
  3649. &:hover,
  3650. &:active,
  3651. &:focus {
  3652. &,
  3653. button {
  3654. background: $ui-highlight-color;
  3655. color: $primary-text-color;
  3656. }
  3657. }
  3658. button:first-child {
  3659. margin-right: 10px;
  3660. }
  3661. }
  3662. }
  3663. }
  3664. }
  3665. .confirmation-modal__action-bar,
  3666. .mute-modal__action-bar {
  3667. .confirmation-modal__cancel-button,
  3668. .mute-modal__cancel-button {
  3669. background-color: transparent;
  3670. color: $lighter-text-color;
  3671. font-size: 14px;
  3672. font-weight: 500;
  3673. &:hover,
  3674. &:focus,
  3675. &:active {
  3676. color: darken($lighter-text-color, 4%);
  3677. }
  3678. }
  3679. }
  3680. .confirmation-modal__container,
  3681. .mute-modal__container,
  3682. .report-modal__target {
  3683. padding: 30px;
  3684. font-size: 16px;
  3685. text-align: center;
  3686. strong {
  3687. font-weight: 500;
  3688. @each $lang in $cjk-langs {
  3689. &:lang(#{$lang}) {
  3690. font-weight: 700;
  3691. }
  3692. }
  3693. }
  3694. }
  3695. .report-modal__target {
  3696. padding: 20px;
  3697. .media-modal__close {
  3698. top: 19px;
  3699. right: 15px;
  3700. }
  3701. }
  3702. .loading-bar {
  3703. background-color: $highlight-text-color;
  3704. height: 3px;
  3705. position: absolute;
  3706. top: 0;
  3707. left: 0;
  3708. }
  3709. .media-gallery__gifv__label {
  3710. display: block;
  3711. position: absolute;
  3712. color: $primary-text-color;
  3713. background: rgba($base-overlay-background, 0.5);
  3714. bottom: 6px;
  3715. left: 6px;
  3716. padding: 2px 6px;
  3717. border-radius: 2px;
  3718. font-size: 11px;
  3719. font-weight: 600;
  3720. z-index: 1;
  3721. pointer-events: none;
  3722. opacity: 0.9;
  3723. transition: opacity 0.1s ease;
  3724. }
  3725. .media-gallery__gifv {
  3726. &.autoplay {
  3727. .media-gallery__gifv__label {
  3728. display: none;
  3729. }
  3730. }
  3731. &:hover {
  3732. .media-gallery__gifv__label {
  3733. opacity: 1;
  3734. }
  3735. }
  3736. }
  3737. .attachment-list {
  3738. display: flex;
  3739. font-size: 14px;
  3740. border: 1px solid lighten($ui-base-color, 8%);
  3741. border-radius: 4px;
  3742. margin-top: 14px;
  3743. overflow: hidden;
  3744. &__icon {
  3745. flex: 0 0 auto;
  3746. color: $dark-text-color;
  3747. padding: 8px 18px;
  3748. cursor: default;
  3749. border-right: 1px solid lighten($ui-base-color, 8%);
  3750. display: flex;
  3751. flex-direction: column;
  3752. align-items: center;
  3753. justify-content: center;
  3754. font-size: 26px;
  3755. .fa {
  3756. display: block;
  3757. }
  3758. }
  3759. &__list {
  3760. list-style: none;
  3761. padding: 4px 0;
  3762. padding-left: 8px;
  3763. display: flex;
  3764. flex-direction: column;
  3765. justify-content: center;
  3766. li {
  3767. display: block;
  3768. padding: 4px 0;
  3769. }
  3770. a {
  3771. text-decoration: none;
  3772. color: $dark-text-color;
  3773. font-weight: 500;
  3774. &:hover {
  3775. text-decoration: underline;
  3776. }
  3777. }
  3778. }
  3779. &.compact {
  3780. border: 0;
  3781. margin-top: 4px;
  3782. .attachment-list__list {
  3783. padding: 0;
  3784. display: block;
  3785. }
  3786. .fa {
  3787. color: $dark-text-color;
  3788. }
  3789. }
  3790. }
  3791. /* Media Gallery */
  3792. .media-gallery {
  3793. box-sizing: border-box;
  3794. margin-top: 8px;
  3795. overflow: hidden;
  3796. border-radius: 4px;
  3797. position: relative;
  3798. width: 100%;
  3799. }
  3800. .media-gallery__item {
  3801. border: none;
  3802. box-sizing: border-box;
  3803. display: block;
  3804. float: left;
  3805. position: relative;
  3806. border-radius: 4px;
  3807. overflow: hidden;
  3808. &.standalone {
  3809. .media-gallery__item-gifv-thumbnail {
  3810. transform: none;
  3811. top: 0;
  3812. }
  3813. }
  3814. }
  3815. .media-gallery__item-thumbnail {
  3816. cursor: zoom-in;
  3817. display: block;
  3818. text-decoration: none;
  3819. color: $secondary-text-color;
  3820. line-height: 0;
  3821. &,
  3822. img {
  3823. height: 100%;
  3824. width: 100%;
  3825. }
  3826. img {
  3827. object-fit: cover;
  3828. }
  3829. }
  3830. .media-gallery__gifv {
  3831. height: 100%;
  3832. overflow: hidden;
  3833. position: relative;
  3834. width: 100%;
  3835. }
  3836. .media-gallery__item-gifv-thumbnail {
  3837. cursor: zoom-in;
  3838. height: 100%;
  3839. object-fit: cover;
  3840. position: relative;
  3841. top: 50%;
  3842. transform: translateY(-50%);
  3843. width: 100%;
  3844. z-index: 1;
  3845. }
  3846. .media-gallery__item-thumbnail-label {
  3847. clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  3848. clip: rect(1px, 1px, 1px, 1px);
  3849. overflow: hidden;
  3850. position: absolute;
  3851. }
  3852. /* End Media Gallery */
  3853. /* Status Video Player */
  3854. .status__video-player {
  3855. background: $base-overlay-background;
  3856. box-sizing: border-box;
  3857. cursor: default; /* May not be needed */
  3858. margin-top: 8px;
  3859. overflow: hidden;
  3860. position: relative;
  3861. }
  3862. .status__video-player-video {
  3863. height: 100%;
  3864. object-fit: cover;
  3865. position: relative;
  3866. top: 50%;
  3867. transform: translateY(-50%);
  3868. width: 100%;
  3869. z-index: 1;
  3870. }
  3871. .status__video-player-expand,
  3872. .status__video-player-mute {
  3873. color: $primary-text-color;
  3874. opacity: 0.8;
  3875. position: absolute;
  3876. right: 4px;
  3877. text-shadow: 0 1px 1px $base-shadow-color, 1px 0 1px $base-shadow-color;
  3878. }
  3879. .status__video-player-spoiler {
  3880. display: none;
  3881. color: $primary-text-color;
  3882. left: 4px;
  3883. position: absolute;
  3884. text-shadow: 0 1px 1px $base-shadow-color, 1px 0 1px $base-shadow-color;
  3885. top: 4px;
  3886. z-index: 100;
  3887. &.status__video-player-spoiler--visible {
  3888. display: block;
  3889. }
  3890. }
  3891. .status__video-player-expand {
  3892. bottom: 4px;
  3893. z-index: 100;
  3894. }
  3895. .status__video-player-mute {
  3896. top: 4px;
  3897. z-index: 5;
  3898. }
  3899. .video-player {
  3900. overflow: hidden;
  3901. position: relative;
  3902. background: $base-shadow-color;
  3903. max-width: 100%;
  3904. border-radius: 4px;
  3905. &:focus {
  3906. outline: 0;
  3907. }
  3908. video {
  3909. max-width: 100vw;
  3910. max-height: 80vh;
  3911. z-index: 1;
  3912. }
  3913. &.fullscreen {
  3914. width: 100% !important;
  3915. height: 100% !important;
  3916. margin: 0;
  3917. video {
  3918. max-width: 100% !important;
  3919. max-height: 100% !important;
  3920. width: 100% !important;
  3921. height: 100% !important;
  3922. }
  3923. }
  3924. &.inline {
  3925. video {
  3926. object-fit: contain;
  3927. position: relative;
  3928. top: 50%;
  3929. transform: translateY(-50%);
  3930. }
  3931. }
  3932. &__controls {
  3933. position: absolute;
  3934. z-index: 2;
  3935. bottom: 0;
  3936. left: 0;
  3937. right: 0;
  3938. box-sizing: border-box;
  3939. background: linear-gradient(0deg, rgba($base-shadow-color, 0.85) 0, rgba($base-shadow-color, 0.45) 60%, transparent);
  3940. padding: 0 15px;
  3941. opacity: 0;
  3942. transition: opacity .1s ease;
  3943. &.active {
  3944. opacity: 1;
  3945. }
  3946. }
  3947. &.inactive {
  3948. video,
  3949. .video-player__controls {
  3950. visibility: hidden;
  3951. }
  3952. }
  3953. &__spoiler {
  3954. display: none;
  3955. position: absolute;
  3956. top: 0;
  3957. left: 0;
  3958. width: 100%;
  3959. height: 100%;
  3960. z-index: 4;
  3961. border: 0;
  3962. background: $base-overlay-background;
  3963. color: $darker-text-color;
  3964. transition: none;
  3965. pointer-events: none;
  3966. &.active {
  3967. display: block;
  3968. pointer-events: auto;
  3969. &:hover,
  3970. &:active,
  3971. &:focus {
  3972. color: lighten($darker-text-color, 7%);
  3973. }
  3974. }
  3975. &__title {
  3976. display: block;
  3977. font-size: 14px;
  3978. }
  3979. &__subtitle {
  3980. display: block;
  3981. font-size: 11px;
  3982. font-weight: 500;
  3983. }
  3984. }
  3985. &__buttons-bar {
  3986. display: flex;
  3987. justify-content: space-between;
  3988. padding-bottom: 10px;
  3989. }
  3990. &__buttons {
  3991. font-size: 16px;
  3992. white-space: nowrap;
  3993. overflow: hidden;
  3994. text-overflow: ellipsis;
  3995. &.left {
  3996. button {
  3997. padding-left: 0;
  3998. }
  3999. }
  4000. &.right {
  4001. button {
  4002. padding-right: 0;
  4003. }
  4004. }
  4005. button {
  4006. background: transparent;
  4007. padding: 2px 10px;
  4008. font-size: 16px;
  4009. border: 0;
  4010. color: rgba($white, 0.75);
  4011. &:active,
  4012. &:hover,
  4013. &:focus {
  4014. color: $white;
  4015. }
  4016. }
  4017. }
  4018. &__time-sep,
  4019. &__time-total,
  4020. &__time-current {
  4021. font-size: 14px;
  4022. font-weight: 500;
  4023. }
  4024. &__time-current {
  4025. color: $white;
  4026. margin-left: 10px;
  4027. }
  4028. &__time-sep {
  4029. display: inline-block;
  4030. margin: 0 6px;
  4031. }
  4032. &__time-sep,
  4033. &__time-total {
  4034. color: $white;
  4035. }
  4036. &__seek {
  4037. cursor: pointer;
  4038. height: 24px;
  4039. position: relative;
  4040. &::before {
  4041. content: "";
  4042. width: 100%;
  4043. background: rgba($white, 0.35);
  4044. border-radius: 4px;
  4045. display: block;
  4046. position: absolute;
  4047. height: 4px;
  4048. top: 10px;
  4049. }
  4050. &__progress,
  4051. &__buffer {
  4052. display: block;
  4053. position: absolute;
  4054. height: 4px;
  4055. border-radius: 4px;
  4056. top: 10px;
  4057. background: lighten($ui-highlight-color, 8%);
  4058. }
  4059. &__buffer {
  4060. background: rgba($white, 0.2);
  4061. }
  4062. &__handle {
  4063. position: absolute;
  4064. z-index: 3;
  4065. opacity: 0;
  4066. border-radius: 50%;
  4067. width: 12px;
  4068. height: 12px;
  4069. top: 6px;
  4070. margin-left: -6px;
  4071. transition: opacity .1s ease;
  4072. background: lighten($ui-highlight-color, 8%);
  4073. box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2);
  4074. pointer-events: none;
  4075. &.active {
  4076. opacity: 1;
  4077. }
  4078. }
  4079. &:hover {
  4080. .video-player__seek__handle {
  4081. opacity: 1;
  4082. }
  4083. }
  4084. }
  4085. &.detailed,
  4086. &.fullscreen {
  4087. .video-player__buttons {
  4088. button {
  4089. padding-top: 10px;
  4090. padding-bottom: 10px;
  4091. }
  4092. }
  4093. }
  4094. }
  4095. .media-spoiler-video {
  4096. background-size: cover;
  4097. background-repeat: no-repeat;
  4098. background-position: center;
  4099. cursor: pointer;
  4100. margin-top: 8px;
  4101. position: relative;
  4102. border: 0;
  4103. display: block;
  4104. }
  4105. .media-spoiler-video-play-icon {
  4106. border-radius: 100px;
  4107. color: rgba($primary-text-color, 0.8);
  4108. font-size: 36px;
  4109. left: 50%;
  4110. padding: 5px;
  4111. position: absolute;
  4112. top: 50%;
  4113. transform: translate(-50%, -50%);
  4114. }
  4115. /* End Video Player */
  4116. .account-gallery__container {
  4117. display: flex;
  4118. justify-content: center;
  4119. flex-wrap: wrap;
  4120. padding: 2px;
  4121. }
  4122. .account-gallery__item {
  4123. flex-grow: 1;
  4124. width: 50%;
  4125. overflow: hidden;
  4126. position: relative;
  4127. &::before {
  4128. content: "";
  4129. display: block;
  4130. padding-top: 100%;
  4131. }
  4132. a {
  4133. display: block;
  4134. width: calc(100% - 4px);
  4135. height: calc(100% - 4px);
  4136. margin: 2px;
  4137. top: 0;
  4138. left: 0;
  4139. background-color: $base-overlay-background;
  4140. background-size: cover;
  4141. background-position: center;
  4142. position: absolute;
  4143. color: $darker-text-color;
  4144. text-decoration: none;
  4145. border-radius: 4px;
  4146. &:hover,
  4147. &:active,
  4148. &:focus {
  4149. outline: 0;
  4150. color: $secondary-text-color;
  4151. &::before {
  4152. content: "";
  4153. display: block;
  4154. width: 100%;
  4155. height: 100%;
  4156. background: rgba($base-overlay-background, 0.3);
  4157. border-radius: 4px;
  4158. }
  4159. }
  4160. }
  4161. &__icons {
  4162. position: absolute;
  4163. top: 50%;
  4164. left: 50%;
  4165. transform: translate(-50%, -50%);
  4166. font-size: 24px;
  4167. }
  4168. }
  4169. .account__section-headline {
  4170. background: darken($ui-base-color, 4%);
  4171. border-bottom: 1px solid lighten($ui-base-color, 8%);
  4172. cursor: default;
  4173. display: flex;
  4174. a {
  4175. display: block;
  4176. flex: 1 1 auto;
  4177. color: $darker-text-color;
  4178. padding: 15px 0;
  4179. font-size: 14px;
  4180. font-weight: 500;
  4181. text-align: center;
  4182. text-decoration: none;
  4183. position: relative;
  4184. &.active {
  4185. color: $secondary-text-color;
  4186. &::before,
  4187. &::after {
  4188. display: block;
  4189. content: "";
  4190. position: absolute;
  4191. bottom: 0;
  4192. left: 50%;
  4193. width: 0;
  4194. height: 0;
  4195. transform: translateX(-50%);
  4196. border-style: solid;
  4197. border-width: 0 10px 10px;
  4198. border-color: transparent transparent lighten($ui-base-color, 8%);
  4199. }
  4200. &::after {
  4201. bottom: -1px;
  4202. border-color: transparent transparent $ui-base-color;
  4203. }
  4204. }
  4205. }
  4206. }
  4207. ::-webkit-scrollbar-thumb {
  4208. border-radius: 0;
  4209. }
  4210. .search-popout {
  4211. background: $simple-background-color;
  4212. border-radius: 4px;
  4213. padding: 10px 14px;
  4214. padding-bottom: 14px;
  4215. margin-top: 10px;
  4216. color: $light-text-color;
  4217. box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
  4218. h4 {
  4219. text-transform: uppercase;
  4220. color: $light-text-color;
  4221. font-size: 13px;
  4222. font-weight: 500;
  4223. margin-bottom: 10px;
  4224. }
  4225. li {
  4226. padding: 4px 0;
  4227. }
  4228. ul {
  4229. margin-bottom: 10px;
  4230. }
  4231. em {
  4232. font-weight: 500;
  4233. color: $inverted-text-color;
  4234. }
  4235. }
  4236. noscript {
  4237. text-align: center;
  4238. img {
  4239. width: 200px;
  4240. opacity: 0.5;
  4241. animation: flicker 4s infinite;
  4242. }
  4243. div {
  4244. font-size: 14px;
  4245. margin: 30px auto;
  4246. color: $secondary-text-color;
  4247. max-width: 400px;
  4248. a {
  4249. color: $highlight-text-color;
  4250. text-decoration: underline;
  4251. &:hover {
  4252. text-decoration: none;
  4253. }
  4254. }
  4255. }
  4256. }
  4257. @keyframes flicker {
  4258. 0% { opacity: 1; }
  4259. 30% { opacity: 0.75; }
  4260. 100% { opacity: 1; }
  4261. }
  4262. @media screen and (max-width: 630px) and (max-height: 400px) {
  4263. $duration: 400ms;
  4264. $delay: 100ms;
  4265. .tabs-bar,
  4266. .search {
  4267. will-change: margin-top;
  4268. transition: margin-top $duration $delay;
  4269. }
  4270. .navigation-bar {
  4271. will-change: padding-bottom;
  4272. transition: padding-bottom $duration $delay;
  4273. }
  4274. .navigation-bar {
  4275. & > a:first-child {
  4276. will-change: margin-top, margin-left, margin-right, width;
  4277. transition: margin-top $duration $delay, margin-left $duration ($duration + $delay), margin-right $duration ($duration + $delay);
  4278. }
  4279. & > .navigation-bar__profile-edit {
  4280. will-change: margin-top;
  4281. transition: margin-top $duration $delay;
  4282. }
  4283. .navigation-bar__actions {
  4284. & > .icon-button.close {
  4285. will-change: opacity transform;
  4286. transition: opacity $duration * 0.5 $delay,
  4287. transform $duration $delay;
  4288. }
  4289. & > .compose__action-bar .icon-button {
  4290. will-change: opacity transform;
  4291. transition: opacity $duration * 0.5 $delay + $duration * 0.5,
  4292. transform $duration $delay;
  4293. }
  4294. }
  4295. }
  4296. .is-composing {
  4297. .tabs-bar,
  4298. .search {
  4299. margin-top: -50px;
  4300. }
  4301. .navigation-bar {
  4302. padding-bottom: 0;
  4303. & > a:first-child {
  4304. margin: -100px 10px 0 -50px;
  4305. }
  4306. .navigation-bar__profile {
  4307. padding-top: 2px;
  4308. }
  4309. .navigation-bar__profile-edit {
  4310. position: absolute;
  4311. margin-top: -60px;
  4312. }
  4313. .navigation-bar__actions {
  4314. .icon-button.close {
  4315. pointer-events: auto;
  4316. opacity: 1;
  4317. transform: scale(1.0, 1.0) translate(0, 0);
  4318. bottom: 5px;
  4319. }
  4320. .compose__action-bar .icon-button {
  4321. pointer-events: none;
  4322. opacity: 0;
  4323. transform: scale(0.0, 1.0) translate(100%, 0);
  4324. }
  4325. }
  4326. }
  4327. }
  4328. }
  4329. .embed-modal {
  4330. max-width: 80vw;
  4331. max-height: 80vh;
  4332. h4 {
  4333. padding: 30px;
  4334. font-weight: 500;
  4335. font-size: 16px;
  4336. text-align: center;
  4337. }
  4338. .embed-modal__container {
  4339. padding: 10px;
  4340. .hint {
  4341. margin-bottom: 15px;
  4342. }
  4343. .embed-modal__html {
  4344. outline: 0;
  4345. box-sizing: border-box;
  4346. display: block;
  4347. width: 100%;
  4348. border: none;
  4349. padding: 10px;
  4350. font-family: $font-monospace, monospace;
  4351. background: $ui-base-color;
  4352. color: $primary-text-color;
  4353. font-size: 14px;
  4354. margin: 0;
  4355. margin-bottom: 15px;
  4356. &::-moz-focus-inner {
  4357. border: 0;
  4358. }
  4359. &::-moz-focus-inner,
  4360. &:focus,
  4361. &:active {
  4362. outline: 0 !important;
  4363. }
  4364. &:focus {
  4365. background: lighten($ui-base-color, 4%);
  4366. }
  4367. @media screen and (max-width: 600px) {
  4368. font-size: 16px;
  4369. }
  4370. }
  4371. .embed-modal__iframe {
  4372. width: 400px;
  4373. max-width: 100%;
  4374. overflow: hidden;
  4375. border: 0;
  4376. }
  4377. }
  4378. }
  4379. .account__moved-note {
  4380. padding: 14px 10px;
  4381. padding-bottom: 16px;
  4382. background: lighten($ui-base-color, 4%);
  4383. border-top: 1px solid lighten($ui-base-color, 8%);
  4384. border-bottom: 1px solid lighten($ui-base-color, 8%);
  4385. &__message {
  4386. position: relative;
  4387. margin-left: 58px;
  4388. color: $dark-text-color;
  4389. padding: 8px 0;
  4390. padding-top: 0;
  4391. padding-bottom: 4px;
  4392. font-size: 14px;
  4393. > span {
  4394. display: block;
  4395. overflow: hidden;
  4396. text-overflow: ellipsis;
  4397. }
  4398. }
  4399. &__icon-wrapper {
  4400. left: -26px;
  4401. position: absolute;
  4402. }
  4403. .detailed-status__display-avatar {
  4404. position: relative;
  4405. }
  4406. .detailed-status__display-name {
  4407. margin-bottom: 0;
  4408. }
  4409. }
  4410. .column-inline-form {
  4411. padding: 7px 15px;
  4412. padding-right: 5px;
  4413. display: flex;
  4414. justify-content: flex-start;
  4415. align-items: center;
  4416. background: lighten($ui-base-color, 4%);
  4417. label {
  4418. flex: 1 1 auto;
  4419. input {
  4420. width: 100%;
  4421. margin-bottom: 6px;
  4422. &:focus {
  4423. outline: 0;
  4424. }
  4425. }
  4426. }
  4427. .icon-button {
  4428. flex: 0 0 auto;
  4429. margin-left: 5px;
  4430. }
  4431. }
  4432. .drawer__backdrop {
  4433. cursor: pointer;
  4434. position: absolute;
  4435. top: 0;
  4436. left: 0;
  4437. width: 100%;
  4438. height: 100%;
  4439. background: rgba($base-overlay-background, 0.5);
  4440. }
  4441. .list-editor {
  4442. background: $ui-base-color;
  4443. flex-direction: column;
  4444. border-radius: 8px;
  4445. box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
  4446. width: 380px;
  4447. overflow: hidden;
  4448. @media screen and (max-width: 420px) {
  4449. width: 90%;
  4450. }
  4451. h4 {
  4452. padding: 15px 0;
  4453. background: lighten($ui-base-color, 13%);
  4454. font-weight: 500;
  4455. font-size: 16px;
  4456. text-align: center;
  4457. border-radius: 8px 8px 0 0;
  4458. }
  4459. .drawer__pager {
  4460. height: 50vh;
  4461. }
  4462. .drawer__inner {
  4463. border-radius: 0 0 8px 8px;
  4464. &.backdrop {
  4465. width: calc(100% - 60px);
  4466. box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
  4467. border-radius: 0 0 0 8px;
  4468. }
  4469. }
  4470. &__accounts {
  4471. overflow-y: auto;
  4472. }
  4473. .account__display-name {
  4474. &:hover strong {
  4475. text-decoration: none;
  4476. }
  4477. }
  4478. .account__avatar {
  4479. cursor: default;
  4480. }
  4481. .search {
  4482. margin-bottom: 0;
  4483. }
  4484. }
  4485. .focal-point-modal {
  4486. max-width: 80vw;
  4487. max-height: 80vh;
  4488. position: relative;
  4489. }
  4490. .focal-point {
  4491. position: relative;
  4492. cursor: pointer;
  4493. overflow: hidden;
  4494. &.dragging {
  4495. cursor: move;
  4496. }
  4497. img {
  4498. max-width: 80vw;
  4499. max-height: 80vh;
  4500. width: auto;
  4501. height: auto;
  4502. margin: auto;
  4503. }
  4504. &__reticle {
  4505. position: absolute;
  4506. width: 100px;
  4507. height: 100px;
  4508. transform: translate(-50%, -50%);
  4509. background: url('../images/reticle.png') no-repeat 0 0;
  4510. border-radius: 50%;
  4511. box-shadow: 0 0 0 9999em rgba($base-shadow-color, 0.35);
  4512. }
  4513. &__overlay {
  4514. position: absolute;
  4515. width: 100%;
  4516. height: 100%;
  4517. top: 0;
  4518. left: 0;
  4519. }
  4520. }
  4521. .floating-action-button {
  4522. position: fixed;
  4523. display: flex;
  4524. justify-content: center;
  4525. align-items: center;
  4526. width: 3.9375rem;
  4527. height: 3.9375rem;
  4528. bottom: 1.3125rem;
  4529. right: 1.3125rem;
  4530. background: darken($ui-highlight-color, 3%);
  4531. color: $white;
  4532. border-radius: 50%;
  4533. font-size: 21px;
  4534. line-height: 21px;
  4535. text-decoration: none;
  4536. box-shadow: 2px 3px 9px rgba($base-shadow-color, 0.4);
  4537. &:hover,
  4538. &:focus,
  4539. &:active {
  4540. background: lighten($ui-highlight-color, 7%);
  4541. }
  4542. }
  4543. .account__header .roles {
  4544. margin-top: 20px;
  4545. margin-bottom: 20px;
  4546. padding: 0 15px;
  4547. }
  4548. .account__header .account__header__fields {
  4549. font-size: 14px;
  4550. line-height: 20px;
  4551. overflow: hidden;
  4552. margin: 20px -10px -20px;
  4553. border-bottom: 0;
  4554. border-top: 0;
  4555. dl {
  4556. border-top: 1px solid lighten($ui-base-color, 4%);
  4557. border-bottom: 0;
  4558. display: flex;
  4559. }
  4560. dt,
  4561. dd {
  4562. box-sizing: border-box;
  4563. padding: 14px 5px;
  4564. text-align: center;
  4565. max-height: 48px;
  4566. overflow: hidden;
  4567. white-space: nowrap;
  4568. text-overflow: ellipsis;
  4569. }
  4570. dt {
  4571. color: $darker-text-color;
  4572. background: darken($ui-base-color, 4%);
  4573. width: 120px;
  4574. flex: 0 0 auto;
  4575. font-weight: 500;
  4576. }
  4577. dd {
  4578. flex: 1 1 auto;
  4579. color: $primary-text-color;
  4580. background: $ui-base-color;
  4581. &.verified {
  4582. border: 1px solid rgba($valid-value-color, 0.5);
  4583. background: rgba($valid-value-color, 0.25);
  4584. }
  4585. }
  4586. }
  4587. .trends {
  4588. &__header {
  4589. color: $dark-text-color;
  4590. background: lighten($ui-base-color, 2%);
  4591. border-bottom: 1px solid darken($ui-base-color, 4%);
  4592. font-weight: 500;
  4593. padding: 15px;
  4594. font-size: 16px;
  4595. cursor: default;
  4596. .fa {
  4597. display: inline-block;
  4598. margin-right: 5px;
  4599. }
  4600. }
  4601. &__item {
  4602. display: flex;
  4603. align-items: center;
  4604. padding: 15px;
  4605. border-bottom: 1px solid lighten($ui-base-color, 8%);
  4606. &:last-child {
  4607. border-bottom: 0;
  4608. }
  4609. &__name {
  4610. flex: 1 1 auto;
  4611. color: $dark-text-color;
  4612. overflow: hidden;
  4613. text-overflow: ellipsis;
  4614. white-space: nowrap;
  4615. strong {
  4616. font-weight: 500;
  4617. }
  4618. a {
  4619. color: $darker-text-color;
  4620. text-decoration: none;
  4621. font-size: 14px;
  4622. font-weight: 500;
  4623. display: block;
  4624. overflow: hidden;
  4625. text-overflow: ellipsis;
  4626. white-space: nowrap;
  4627. &:hover,
  4628. &:focus,
  4629. &:active {
  4630. span {
  4631. text-decoration: underline;
  4632. }
  4633. }
  4634. }
  4635. }
  4636. &__current {
  4637. flex: 0 0 auto;
  4638. width: 100px;
  4639. font-size: 24px;
  4640. line-height: 36px;
  4641. font-weight: 500;
  4642. text-align: center;
  4643. color: $secondary-text-color;
  4644. }
  4645. &__sparkline {
  4646. flex: 0 0 auto;
  4647. width: 50px;
  4648. path {
  4649. stroke: lighten($highlight-text-color, 6%) !important;
  4650. }
  4651. }
  4652. }
  4653. }
  4654. .conversation {
  4655. padding: 14px 10px;
  4656. border-bottom: 1px solid lighten($ui-base-color, 8%);
  4657. cursor: pointer;
  4658. &__header {
  4659. display: flex;
  4660. margin-bottom: 15px;
  4661. }
  4662. &__avatars {
  4663. overflow: hidden;
  4664. flex: 1 1 auto;
  4665. & > div {
  4666. display: flex;
  4667. flex-wrap: none;
  4668. width: 900px;
  4669. }
  4670. .account__avatar {
  4671. margin-right: 10px;
  4672. }
  4673. }
  4674. &__time {
  4675. flex: 0 0 auto;
  4676. font-size: 14px;
  4677. color: $darker-text-color;
  4678. text-align: right;
  4679. .display-name {
  4680. color: $secondary-text-color;
  4681. }
  4682. }
  4683. .attachment-list.compact {
  4684. margin-top: 15px;
  4685. }
  4686. }