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.

3344 lines
52 KiB

7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
  1. @import 'variables';
  2. .app-body {
  3. -webkit-overflow-scrolling: touch;
  4. -ms-overflow-style: -ms-autohiding-scrollbar;
  5. }
  6. .button {
  7. background-color: darken($color4, 3%);
  8. border: 10px none;
  9. border-radius: 4px;
  10. box-sizing: border-box;
  11. color: $color5;
  12. cursor: pointer;
  13. display: inline-block;
  14. font-family: inherit;
  15. font-size: 14px;
  16. font-weight: 500;
  17. height: 36px;
  18. letter-spacing: 0;
  19. line-height: 36px;
  20. overflow: hidden;
  21. padding: 0 16px;
  22. position: relative;
  23. text-align: center;
  24. text-transform: uppercase;
  25. text-decoration: none;
  26. text-overflow: ellipsis;
  27. transition: all 100ms ease-in;
  28. white-space: nowrap;
  29. &:active,
  30. &:focus,
  31. &:hover {
  32. background-color: lighten($color4, 7%);
  33. transition: all 200ms ease-out;
  34. }
  35. &:disabled {
  36. background-color: $color3;
  37. cursor: default;
  38. }
  39. &.button-secondary {
  40. //
  41. }
  42. }
  43. .column-collapsable {
  44. position: relative;
  45. }
  46. .column-icon {
  47. background: lighten($color1, 4%);
  48. color: $color3;
  49. cursor: pointer;
  50. font-size: 16px;
  51. padding: 15px;
  52. position: absolute;
  53. right: 0;
  54. top: -48px;
  55. z-index: 3;
  56. &:hover {
  57. color: lighten($color3, 7%);
  58. }
  59. }
  60. .column-icon-clear {
  61. font-size: 16px;
  62. padding: 15px;
  63. position: absolute;
  64. right: 48px;
  65. top: 0;
  66. cursor: pointer;
  67. z-index: 2;
  68. }
  69. @media screen and (min-width: 1025px) {
  70. .column-icon-clear {
  71. top: 10px;
  72. }
  73. }
  74. .icon-button {
  75. display: inline-block;
  76. padding: 0;
  77. color: lighten($color1, 26%);
  78. border: none;
  79. background: transparent;
  80. cursor: pointer;
  81. transition: color 100ms ease-in;
  82. &:hover,
  83. &:active,
  84. &:focus {
  85. color: lighten($color1, 33%);
  86. transition: color 200ms ease-out;
  87. }
  88. &.disabled {
  89. color: lighten($color1, 13%);
  90. cursor: default;
  91. }
  92. &.active {
  93. color: $color4;
  94. }
  95. &::-moz-focus-inner {
  96. border: 0;
  97. }
  98. &::-moz-focus-inner,
  99. &:focus,
  100. &:active {
  101. outline: 0 !important;
  102. }
  103. &.inverted {
  104. color: lighten($color1, 33%);
  105. &:hover,
  106. &:active,
  107. &:focus {
  108. color: lighten($color1, 26%);
  109. }
  110. &.active {
  111. color: $color4;
  112. }
  113. &.disabled {
  114. color: $color3;
  115. }
  116. }
  117. &.overlayed {
  118. box-sizing: content-box;
  119. background: rgba($color8, 0.6);
  120. color: rgba($color5, 0.7);
  121. border-radius: 4px;
  122. padding: 2px;
  123. &:hover {
  124. background: rgba($color8, 0.9);
  125. }
  126. }
  127. }
  128. .text-icon-button {
  129. color: lighten($color1, 33%);
  130. border: none;
  131. background: transparent;
  132. cursor: pointer;
  133. font-weight: 600;
  134. font-size: 11px;
  135. padding: 0 3px;
  136. line-height: 27px;
  137. outline: 0;
  138. transition: color 100ms ease-in;
  139. &:hover,
  140. &:active,
  141. &:focus {
  142. color: lighten($color1, 26%);
  143. transition: color 200ms ease-out;
  144. }
  145. &.disabled {
  146. color: lighten($color1, 13%);
  147. cursor: default;
  148. }
  149. &.active {
  150. color: $color4;
  151. }
  152. &::-moz-focus-inner {
  153. border: 0;
  154. }
  155. &::-moz-focus-inner,
  156. &:focus,
  157. &:active {
  158. outline: 0 !important;
  159. }
  160. }
  161. .dropdown--active .icon-button {
  162. color: $color4;
  163. }
  164. .dropdown--active::after {
  165. content: "";
  166. display: block;
  167. position: absolute;
  168. width: 0;
  169. height: 0;
  170. border-style: solid;
  171. border-width: 0 4.5px 7.8px;
  172. border-color: transparent transparent $color2;
  173. bottom: 8px;
  174. right: 104px;
  175. }
  176. .invisible {
  177. font-size: 0;
  178. line-height: 0;
  179. display: inline-block;
  180. width: 0;
  181. }
  182. .ellipsis {
  183. &::after {
  184. content: "";
  185. }
  186. }
  187. .lightbox .icon-button {
  188. color: $color1;
  189. }
  190. .compose-form {
  191. padding: 10px;
  192. }
  193. .compose-form__warning {
  194. color: darken($color3, 33%);
  195. margin-bottom: 15px;
  196. background: $color3;
  197. box-shadow: 0 2px 6px rgba($color8, 0.3);
  198. padding: 8px 10px;
  199. border-radius: 4px;
  200. font-size: 13px;
  201. font-weight: 400;
  202. strong {
  203. color: darken($color3, 33%);
  204. font-weight: 500;
  205. }
  206. a {
  207. color: darken($color3, 33%);
  208. font-weight: 500;
  209. text-decoration: underline;
  210. &:hover,
  211. &:active,
  212. &:focus {
  213. text-decoration: none;
  214. }
  215. }
  216. }
  217. .compose-form__modifiers {
  218. color: $color1;
  219. font-family: inherit;
  220. font-size: 14px;
  221. background: $color5;
  222. border-radius: 0 0 4px;
  223. }
  224. .compose-form__buttons-wrapper {
  225. display: flex;
  226. justify-content: space-between;
  227. }
  228. .compose-form__buttons {
  229. padding: 10px;
  230. background: darken($color5, 8%);
  231. box-shadow: inset 0 5px 5px rgba($color8, 0.05);
  232. border-radius: 0 0 4px 4px;
  233. display: flex;
  234. .icon-button {
  235. box-sizing: content-box;
  236. padding: 0 3px;
  237. }
  238. }
  239. .compose-form__upload-button-icon {
  240. line-height: 27px;
  241. }
  242. .compose-form__upload-wrapper {
  243. overflow: hidden;
  244. }
  245. .compose-form__uploads-wrapper {
  246. display: flex;
  247. padding: 5px;
  248. }
  249. .compose-form__upload {
  250. flex: 1 1 0;
  251. margin: 5px;
  252. }
  253. .compose-form__upload-thumbnail {
  254. border-radius: 4px;
  255. background-position: center;
  256. background-size: cover;
  257. background-repeat: no-repeat;
  258. height: 100px;
  259. width: 100%;
  260. }
  261. .compose-form__upload-cancel {
  262. background-size: cover;
  263. border-radius: 4px;
  264. height: 100px;
  265. width: 100px;
  266. }
  267. .compose-form__label {
  268. display: block;
  269. line-height: 24px;
  270. vertical-align: middle;
  271. &.with-border {
  272. border-top: 1px solid $color1;
  273. padding-top: 10px;
  274. }
  275. .compose-form__label__text {
  276. display: inline-block;
  277. vertical-align: middle;
  278. margin-bottom: 14px;
  279. margin-left: 8px;
  280. color: $color3;
  281. }
  282. }
  283. .compose-form__textarea,
  284. .follow-form__input {
  285. background: $color5;
  286. &:disabled {
  287. background: $color2;
  288. }
  289. }
  290. .compose-form__autosuggest-wrapper {
  291. position: relative;
  292. .dropdown--active::after {
  293. border-color: transparent transparent $color5;
  294. bottom: -1px;
  295. right: 8px;
  296. }
  297. }
  298. .compose-form__publish {
  299. display: flex;
  300. min-width: 0;
  301. }
  302. .compose-form__publish-button-wrapper {
  303. overflow: hidden;
  304. padding-top: 10px;
  305. }
  306. .emojione {
  307. display: inline-block;
  308. font-size: inherit;
  309. vertical-align: middle;
  310. margin: -.2ex .15em .2ex;
  311. width: 16px;
  312. height: 16px;
  313. img {
  314. width: auto;
  315. }
  316. }
  317. .reply-indicator {
  318. border-radius: 4px 4px 0 0;
  319. position: relative;
  320. bottom: -2px;
  321. background: $color3;
  322. padding: 10px;
  323. }
  324. .reply-indicator__header {
  325. margin-bottom: 5px;
  326. overflow: hidden;
  327. }
  328. .reply-indicator__cancel {
  329. float: right;
  330. line-height: 24px;
  331. }
  332. .reply-indicator__display-name {
  333. color: $color1;
  334. display: block;
  335. max-width: 100%;
  336. line-height: 24px;
  337. overflow: hidden;
  338. padding-right: 25px;
  339. text-decoration: none;
  340. }
  341. .reply-indicator__display-avatar {
  342. float: left;
  343. margin-right: 5px;
  344. }
  345. .status__content {
  346. cursor: pointer;
  347. }
  348. .status__content--no-action {
  349. cursor: default;
  350. }
  351. .status__content,
  352. .reply-indicator__content {
  353. font-size: 15px;
  354. line-height: 20px;
  355. word-wrap: break-word;
  356. font-weight: 400;
  357. overflow: hidden;
  358. white-space: pre-wrap;
  359. .emojione {
  360. width: 18px;
  361. height: 18px;
  362. }
  363. p {
  364. margin-bottom: 20px;
  365. &:last-child {
  366. margin-bottom: 0;
  367. }
  368. }
  369. a {
  370. color: $color2;
  371. text-decoration: none;
  372. &:hover {
  373. text-decoration: underline;
  374. .fa {
  375. color: lighten($color1, 40%);
  376. }
  377. }
  378. &.mention {
  379. &:hover {
  380. text-decoration: none;
  381. span {
  382. text-decoration: underline;
  383. }
  384. }
  385. }
  386. .fa {
  387. color: lighten($color1, 30%);
  388. }
  389. }
  390. .status__content__spoiler-link {
  391. background: lighten($color1, 30%);
  392. &:hover {
  393. background: lighten($color1, 33%);
  394. text-decoration: none;
  395. }
  396. }
  397. }
  398. a.status__content__spoiler-link {
  399. display: inline-block;
  400. border-radius: 2px;
  401. color: lighten($color1, 8%);
  402. font-weight: 500;
  403. font-size: 11px;
  404. padding: 0 6px;
  405. text-transform: uppercase;
  406. line-height: inherit;
  407. }
  408. .status__prepend-icon-wrapper {
  409. left: -26px;
  410. position: absolute;
  411. }
  412. .status {
  413. padding: 8px 10px;
  414. padding-left: 68px;
  415. position: relative;
  416. min-height: 48px;
  417. border-bottom: 1px solid lighten($color1, 8%);
  418. cursor: default;
  419. &.light {
  420. .status__relative-time {
  421. color: $color3;
  422. }
  423. .status__display-name {
  424. color: $color1;
  425. }
  426. .display-name {
  427. strong {
  428. color: $color1;
  429. }
  430. span {
  431. color: $color3;
  432. }
  433. }
  434. .status__content {
  435. color: $color1;
  436. a {
  437. color: $color4;
  438. }
  439. a.status__content__spoiler-link {
  440. color: $color5;
  441. background: $color3;
  442. &:hover {
  443. background: lighten($color3, 8%);
  444. }
  445. }
  446. }
  447. }
  448. }
  449. .status__relative-time {
  450. color: lighten($color1, 26%);
  451. }
  452. .status__display-name {
  453. color: lighten($color1, 26%);
  454. }
  455. .status__info .status__display-name {
  456. display: block;
  457. max-width: 100%;
  458. padding-right: 25px;
  459. }
  460. .status__info {
  461. font-size: 15px;
  462. }
  463. .status__info-time {
  464. float: right;
  465. font-size: 14px;
  466. }
  467. .status-check-box {
  468. border-bottom: 1px solid lighten($color1, 8%);
  469. display: flex;
  470. .status__content {
  471. background: lighten($color1, 4%);
  472. flex: 1 1 auto;
  473. padding: 10px;
  474. }
  475. }
  476. .status-check-box-toggle {
  477. align-items: center;
  478. display: flex;
  479. flex: 0 0 auto;
  480. justify-content: center;
  481. padding: 10px;
  482. }
  483. .status__prepend {
  484. margin-left: 68px;
  485. color: lighten($color1, 26%);
  486. padding: 8px 0;
  487. padding-bottom: 2px;
  488. font-size: 14px;
  489. position: relative;
  490. .status__display-name strong {
  491. color: lighten($color1, 26%);
  492. }
  493. }
  494. .status__action-bar {
  495. align-items: center;
  496. display: flex;
  497. margin-top: 10px;
  498. }
  499. .status__action-bar-button-wrapper {
  500. float: left;
  501. margin-right: 18px;
  502. }
  503. .status__action-bar-dropdown {
  504. float: left;
  505. height: 18px;
  506. width: 18px;
  507. }
  508. .detailed-status {
  509. background: lighten($color1, 4%);
  510. padding: 14px 10px;
  511. .status__content {
  512. font-size: 19px;
  513. line-height: 24px;
  514. .emojione {
  515. width: 22px;
  516. height: 22px;
  517. }
  518. }
  519. }
  520. .detailed-status__meta {
  521. margin-top: 15px;
  522. color: lighten($color1, 26%);
  523. font-size: 14px;
  524. line-height: 18px;
  525. }
  526. .detailed-status__action-bar {
  527. background: lighten($color1, 4%);
  528. border-top: 1px solid lighten($color1, 8%);
  529. border-bottom: 1px solid lighten($color1, 8%);
  530. display: flex;
  531. flex-direction: row;
  532. padding: 10px 0;
  533. }
  534. .detailed-status__link {
  535. color: inherit;
  536. text-decoration: none;
  537. }
  538. .detailed-status__favorites,
  539. .detailed-status__reblogs {
  540. display: inline-block;
  541. font-weight: 500;
  542. font-size: 12px;
  543. margin-left: 6px;
  544. }
  545. .reply-indicator__content {
  546. color: $color1;
  547. font-size: 14px;
  548. a {
  549. color: lighten($color1, 20%);
  550. }
  551. }
  552. .account {
  553. padding: 10px;
  554. border-bottom: 1px solid lighten($color1, 8%);
  555. .account__display-name {
  556. flex: 1 1 auto;
  557. display: block;
  558. color: $color3;
  559. overflow: hidden;
  560. text-decoration: none;
  561. font-size: 14px;
  562. }
  563. }
  564. .account__wrapper {
  565. display: flex;
  566. }
  567. .account__avatar-wrapper {
  568. float: left;
  569. margin-left: 12px;
  570. margin-right: 12px;
  571. }
  572. .account__avatar {
  573. @include avatar-radius();
  574. position: relative;
  575. &-inline {
  576. display: inline-block;
  577. vertical-align: middle;
  578. margin-right: 5px;
  579. }
  580. }
  581. .account__avatar-overlay {
  582. @include avatar-size(48px);
  583. &-base {
  584. @include avatar-radius();
  585. @include avatar-size(36px);
  586. }
  587. &-overlay {
  588. @include avatar-radius();
  589. @include avatar-size(24px);
  590. position: absolute;
  591. bottom: 0;
  592. right: 0;
  593. z-index: 1;
  594. }
  595. }
  596. .account__relationship {
  597. height: 18px;
  598. padding: 10px;
  599. }
  600. .account__header {
  601. flex: 0 0 auto;
  602. background: lighten($color1, 4%);
  603. text-align: center;
  604. background-size: cover;
  605. background-position: center;
  606. position: relative;
  607. & > div {
  608. background: rgba(lighten($color1, 4%), 0.9);
  609. }
  610. .account__header__content {
  611. color: $color2;
  612. }
  613. .account__header__display-name {
  614. color: $color5;
  615. }
  616. .account__header__username {
  617. color: $color4;
  618. }
  619. }
  620. .account__header__content {
  621. color: $color3;
  622. font-size: 14px;
  623. font-weight: 400;
  624. overflow: hidden;
  625. word-break: normal;
  626. word-wrap: break-word;
  627. p {
  628. margin-bottom: 20px;
  629. &:last-child {
  630. margin-bottom: 0;
  631. }
  632. }
  633. a {
  634. color: inherit;
  635. text-decoration: underline;
  636. &:hover {
  637. text-decoration: none;
  638. }
  639. }
  640. }
  641. .account__header__display-name {
  642. .emojione {
  643. width: 25px;
  644. height: 25px;
  645. }
  646. }
  647. .account__action-bar {
  648. border-top: 1px solid lighten($color1, 8%);
  649. border-bottom: 1px solid lighten($color1, 8%);
  650. line-height: 36px;
  651. overflow: hidden;
  652. flex: 0 0 auto;
  653. display: flex;
  654. }
  655. .account__action-bar-dropdown {
  656. flex: 1 1 auto;
  657. padding: 10px;
  658. .dropdown--active {
  659. .dropdown__content.dropdown__right {
  660. left: 6px;
  661. right: initial;
  662. }
  663. &::after {
  664. bottom: initial;
  665. margin-left: 11px;
  666. margin-top: -7px;
  667. right: initial;
  668. }
  669. }
  670. }
  671. .account__action-bar-links {
  672. display: flex;
  673. flex: 1 1 auto;
  674. line-height: 18px;
  675. }
  676. .account__action-bar__tab {
  677. text-decoration: none;
  678. overflow: hidden;
  679. width: 80px;
  680. border-left: 1px solid lighten($color1, 8%);
  681. padding: 10px 5px;
  682. & > span {
  683. display: block;
  684. text-transform: uppercase;
  685. font-size: 11px;
  686. color: $color3;
  687. }
  688. strong {
  689. display: block;
  690. font-size: 15px;
  691. font-weight: 500;
  692. color: $color5;
  693. }
  694. abbr {
  695. color: lighten($color1, 26%);
  696. }
  697. }
  698. .account__header__avatar {
  699. background-size: 90px 90px;
  700. display: block;
  701. height: 90px;
  702. margin: 0 auto 10px;
  703. overflow: hidden;
  704. width: 90px;
  705. }
  706. .account-authorize {
  707. padding: 14px 10px;
  708. .detailed-status__display-name {
  709. display: block;
  710. margin-bottom: 15px;
  711. overflow: hidden;
  712. }
  713. }
  714. .account-authorize__avatar {
  715. float: left;
  716. margin-right: 10px;
  717. }
  718. .status__display-name,
  719. .status__relative-time,
  720. .detailed-status__display-name,
  721. .detailed-status__datetime,
  722. .detailed-status__application,
  723. .account__display-name {
  724. text-decoration: none;
  725. }
  726. .status__display-name,
  727. .account__display-name {
  728. strong {
  729. color: $color5;
  730. }
  731. &.muted {
  732. .emojione {
  733. opacity: 0.5;
  734. }
  735. }
  736. }
  737. .status__display-name,
  738. .reply-indicator__display-name,
  739. .detailed-status__display-name,
  740. .account__display-name {
  741. &:hover strong {
  742. text-decoration: underline;
  743. }
  744. }
  745. .account__display-name strong {
  746. display: block;
  747. }
  748. .detailed-status__application,
  749. .detailed-status__datetime {
  750. color: inherit;
  751. }
  752. .detailed-status__display-name {
  753. color: $color2;
  754. display: block;
  755. line-height: 24px;
  756. margin-bottom: 15px;
  757. overflow: hidden;
  758. strong,
  759. span {
  760. display: block;
  761. }
  762. strong {
  763. font-size: 16px;
  764. color: $color5;
  765. }
  766. }
  767. .detailed-status__display-avatar {
  768. float: left;
  769. margin-right: 10px;
  770. }
  771. .status__avatar {
  772. height: 48px;
  773. left: 10px;
  774. position: absolute;
  775. top: 10px;
  776. width: 48px;
  777. }
  778. .muted {
  779. .status__content p,
  780. .status__content a {
  781. color: lighten($color1, 26%);
  782. }
  783. .status__display-name strong {
  784. color: lighten($color1, 26%);
  785. }
  786. .status__avatar {
  787. opacity: 0.5;
  788. }
  789. a.status__content__spoiler-link {
  790. background: lighten($color1, 26%);
  791. color: lighten($color1, 4%);
  792. &:hover {
  793. background: lighten($color1, 29%);
  794. text-decoration: none;
  795. }
  796. }
  797. }
  798. .notification__message {
  799. margin-left: 68px;
  800. padding: 8px 0;
  801. padding-bottom: 0;
  802. cursor: default;
  803. color: $color3;
  804. font-size: 15px;
  805. position: relative;
  806. .fa {
  807. color: $color4;
  808. }
  809. }
  810. .notification__favourite-icon-wrapper {
  811. left: -26px;
  812. position: absolute;
  813. .star-icon {
  814. color: $color10;
  815. }
  816. }
  817. .star-icon.active {
  818. color: $color10;
  819. }
  820. .notification__display-name {
  821. color: inherit;
  822. font-weight: 500;
  823. text-decoration: none;
  824. &:hover {
  825. color: $color5;
  826. text-decoration: underline;
  827. }
  828. }
  829. .display-name {
  830. display: block;
  831. max-width: 100%;
  832. overflow: hidden;
  833. text-overflow: ellipsis;
  834. white-space: nowrap;
  835. }
  836. .display-name__html {
  837. font-weight: 500;
  838. }
  839. .display-name__account {
  840. font-size: 14px;
  841. }
  842. .status__relative-time,
  843. .detailed-status__datetime {
  844. &:hover {
  845. text-decoration: underline;
  846. }
  847. }
  848. .transparent-background,
  849. .imageloader {
  850. background: url('../images/void.png');
  851. }
  852. .imageloader {
  853. display: block;
  854. }
  855. .navigation-bar {
  856. padding: 10px;
  857. display: flex;
  858. flex-shrink: 0;
  859. cursor: default;
  860. color: $color3;
  861. strong {
  862. color: $color5;
  863. }
  864. .permalink {
  865. text-decoration: none;
  866. }
  867. }
  868. .navigation-bar__profile {
  869. flex: 1 1 auto;
  870. margin-left: 8px;
  871. }
  872. .navigation-bar__profile-account {
  873. display: block;
  874. font-weight: 500;
  875. }
  876. .navigation-bar__profile-edit {
  877. color: inherit;
  878. text-decoration: none;
  879. }
  880. .dropdown {
  881. display: inline-block;
  882. }
  883. .dropdown__content {
  884. display: none;
  885. position: absolute;
  886. }
  887. .dropdown__sep {
  888. border-bottom: 1px solid darken($color2, 8%);
  889. margin: 5px 7px 6px;
  890. padding-top: 1px;
  891. }
  892. .dropdown--active .dropdown__content {
  893. display: block;
  894. line-height: 18px;
  895. max-width: 311px;
  896. right: 0;
  897. text-align: left;
  898. z-index: 9999;
  899. & > ul {
  900. list-style: none;
  901. background: $color2;
  902. padding: 4px 0;
  903. border-radius: 4px;
  904. box-shadow: 0 0 15px rgba($color8, 0.4);
  905. min-width: 140px;
  906. position: relative;
  907. }
  908. &.dropdown__right {
  909. right: 0;
  910. }
  911. &.dropdown__left {
  912. & > ul {
  913. left: -98px;
  914. }
  915. }
  916. & > ul > li > a {
  917. font-size: 13px;
  918. line-height: 18px;
  919. display: block;
  920. padding: 4px 14px;
  921. box-sizing: border-box;
  922. text-decoration: none;
  923. background: $color2;
  924. color: $color1;
  925. overflow: hidden;
  926. text-overflow: ellipsis;
  927. white-space: nowrap;
  928. &:focus {
  929. outline: 0;
  930. }
  931. &:hover {
  932. background: $color4;
  933. color: $color2;
  934. }
  935. }
  936. }
  937. .dropdown__icon {
  938. vertical-align: middle;
  939. }
  940. .static-content {
  941. padding: 10px;
  942. padding-top: 20px;
  943. color: lighten($color1, 26%);
  944. h1 {
  945. font-size: 16px;
  946. font-weight: 500;
  947. margin-bottom: 40px;
  948. text-align: center;
  949. }
  950. p {
  951. font-size: 13px;
  952. margin-bottom: 20px;
  953. }
  954. }
  955. .columns-area {
  956. display: flex;
  957. flex: 1 1 auto;
  958. flex-direction: row;
  959. justify-content: flex-start;
  960. overflow-x: auto;
  961. position: relative;
  962. }
  963. @media screen and (min-width: 360px) {
  964. .columns-area {
  965. padding: 10px;
  966. }
  967. }
  968. .column {
  969. width: 330px;
  970. position: relative;
  971. box-sizing: border-box;
  972. display: flex;
  973. flex-direction: column;
  974. > .scrollable {
  975. background: $color1;
  976. }
  977. }
  978. .ui {
  979. flex: 0 0 auto;
  980. display: flex;
  981. flex-direction: column;
  982. width: 100%;
  983. height: 100%;
  984. background: darken($color1, 7%);
  985. }
  986. .drawer {
  987. width: 300px;
  988. box-sizing: border-box;
  989. display: flex;
  990. flex-direction: column;
  991. overflow-y: hidden;
  992. }
  993. .drawer__tab {
  994. display: block;
  995. flex: 1 1 auto;
  996. padding: 15px;
  997. padding-bottom: 13px;
  998. color: $color3;
  999. text-decoration: none;
  1000. text-align: center;
  1001. font-size: 16px;
  1002. border-bottom: 2px solid transparent;
  1003. }
  1004. .column,
  1005. .drawer {
  1006. flex: 1 1 100%;
  1007. overflow: hidden;
  1008. }
  1009. @media screen and (min-width: 360px) {
  1010. .tabs-bar {
  1011. margin: 10px;
  1012. margin-bottom: 0;
  1013. }
  1014. .search {
  1015. margin-bottom: 10px;
  1016. }
  1017. }
  1018. @media screen and (max-width: 1024px) {
  1019. .column,
  1020. .drawer {
  1021. width: 100%;
  1022. padding: 0;
  1023. }
  1024. .columns-area {
  1025. flex-direction: column;
  1026. }
  1027. .search__input,
  1028. .autosuggest-textarea__textarea {
  1029. font-size: 16px;
  1030. }
  1031. }
  1032. @media screen and (min-width: 1025px) {
  1033. .columns-area {
  1034. padding: 0;
  1035. }
  1036. .column,
  1037. .drawer {
  1038. flex: 0 0 auto;
  1039. padding: 10px;
  1040. padding-left: 5px;
  1041. padding-right: 5px;
  1042. &:first-child {
  1043. padding-left: 10px;
  1044. }
  1045. &:last-child {
  1046. padding-right: 10px;
  1047. }
  1048. }
  1049. .columns-area > div {
  1050. .column,
  1051. .drawer {
  1052. padding-left: 5px;
  1053. padding-right: 5px;
  1054. }
  1055. }
  1056. }
  1057. @media screen and (min-width: 1397px) { /* Width of 4 columns with margins */
  1058. .columns-area {
  1059. margin-left: auto;
  1060. margin-right: auto;
  1061. }
  1062. }
  1063. @media screen and (min-width: 1900px) {
  1064. .column,
  1065. .drawer {
  1066. width: 400px;
  1067. border-radius: 4px;
  1068. height: 96vh;
  1069. margin-top: 2vh;
  1070. }
  1071. }
  1072. .drawer__pager {
  1073. box-sizing: border-box;
  1074. padding: 0;
  1075. flex-grow: 1;
  1076. position: relative;
  1077. overflow: hidden;
  1078. display: flex;
  1079. }
  1080. .drawer__inner {
  1081. position: absolute;
  1082. top: 0;
  1083. left: 0;
  1084. background: lighten($color1, 13%);
  1085. box-sizing: border-box;
  1086. padding: 0;
  1087. display: flex;
  1088. flex-direction: column;
  1089. overflow: hidden;
  1090. overflow-y: auto;
  1091. width: 100%;
  1092. height: 100%;
  1093. &.darker {
  1094. background: $color1;
  1095. }
  1096. }
  1097. .pseudo-drawer {
  1098. background: lighten($color1, 13%);
  1099. font-size: 13px;
  1100. text-align: left;
  1101. }
  1102. .drawer__header {
  1103. flex: 0 0 auto;
  1104. font-size: 16px;
  1105. background: lighten($color1, 8%);
  1106. margin-bottom: 10px;
  1107. display: flex;
  1108. flex-direction: row;
  1109. a {
  1110. transition: background 100ms ease-in;
  1111. &:hover {
  1112. background: lighten($color1, 3%);
  1113. transition: background 200ms ease-out;
  1114. }
  1115. }
  1116. }
  1117. .tabs-bar {
  1118. display: flex;
  1119. background: lighten($color1, 8%);
  1120. flex: 0 0 auto;
  1121. overflow-y: auto;
  1122. }
  1123. .tabs-bar__link {
  1124. display: block;
  1125. flex: 1 1 auto;
  1126. padding: 15px 10px;
  1127. color: $color5;
  1128. text-decoration: none;
  1129. text-align: center;
  1130. font-size: 14px;
  1131. font-weight: 500;
  1132. border-bottom: 2px solid lighten($color1, 8%);
  1133. transition: all 200ms linear;
  1134. .fa {
  1135. font-weight: 400;
  1136. font-size: 16px;
  1137. }
  1138. &.active {
  1139. border-bottom: 2px solid $color4;
  1140. color: $color4;
  1141. }
  1142. &:hover,
  1143. &:focus,
  1144. &:active {
  1145. background: lighten($color1, 14%);
  1146. transition: all 100ms linear;
  1147. }
  1148. span {
  1149. margin-left: 5px;
  1150. display: none;
  1151. }
  1152. }
  1153. @media screen and (min-width: 600px) {
  1154. .tabs-bar__link {
  1155. span {
  1156. display: inline;
  1157. }
  1158. }
  1159. }
  1160. @media screen and (min-width: 1025px) {
  1161. .tabs-bar {
  1162. display: none;
  1163. }
  1164. }
  1165. .react-autosuggest__container {
  1166. position: relative;
  1167. }
  1168. .react-autosuggest__suggestions-container {
  1169. position: absolute;
  1170. top: 100%;
  1171. width: 100%;
  1172. z-index: 99;
  1173. box-shadow: 0 0 15px rgba($color8, 0.4);
  1174. }
  1175. .react-autosuggest__section-title {
  1176. background: $color3;
  1177. padding: 4px 10px;
  1178. font-weight: 500;
  1179. cursor: default;
  1180. color: $color1;
  1181. text-transform: uppercase;
  1182. font-size: 11px;
  1183. }
  1184. .react-autosuggest__suggestions-list {
  1185. background: $color2;
  1186. color: $color1;
  1187. font-size: 14px;
  1188. }
  1189. .react-autosuggest__suggestion {
  1190. padding: 10px;
  1191. cursor: pointer;
  1192. }
  1193. .react-autosuggest__suggestion--focused {
  1194. background: $color4;
  1195. color: $color5;
  1196. }
  1197. .scrollable {
  1198. overflow-y: scroll;
  1199. overflow-x: hidden;
  1200. flex: 1 1 auto;
  1201. backface-visibility: hidden;
  1202. -webkit-overflow-scrolling: touch;
  1203. &.optionally-scrollable {
  1204. overflow-y: auto;
  1205. }
  1206. }
  1207. .column-back-button {
  1208. background: lighten($color1, 4%);
  1209. color: $color4;
  1210. cursor: pointer;
  1211. flex: 0 0 auto;
  1212. font-size: 16px;
  1213. padding: 15px;
  1214. z-index: 3;
  1215. &:hover {
  1216. text-decoration: underline;
  1217. }
  1218. }
  1219. .column-back-button__icon {
  1220. display: inline-block;
  1221. margin-right: 5px;
  1222. }
  1223. .column-back-button--slim {
  1224. position: relative;
  1225. }
  1226. .column-back-button--slim-button {
  1227. cursor: pointer;
  1228. flex: 0 0 auto;
  1229. font-size: 16px;
  1230. padding: 15px;
  1231. position: absolute;
  1232. right: 0;
  1233. top: -48px;
  1234. }
  1235. .react-toggle {
  1236. display: inline-block;
  1237. position: relative;
  1238. cursor: pointer;
  1239. background-color: transparent;
  1240. border: 0;
  1241. padding: 0;
  1242. user-select: none;
  1243. -webkit-tap-highlight-color: rgba($color8, 0);
  1244. -webkit-tap-highlight-color: transparent;
  1245. }
  1246. .react-toggle-screenreader-only {
  1247. border: 0;
  1248. clip: rect(0 0 0 0);
  1249. height: 1px;
  1250. margin: -1px;
  1251. overflow: hidden;
  1252. padding: 0;
  1253. position: absolute;
  1254. width: 1px;
  1255. }
  1256. .react-toggle--disabled {
  1257. cursor: not-allowed;
  1258. opacity: 0.5;
  1259. transition: opacity 0.25s;
  1260. }
  1261. .react-toggle-track {
  1262. width: 50px;
  1263. height: 24px;
  1264. padding: 0;
  1265. border-radius: 30px;
  1266. background-color: $color1;
  1267. transition: all 0.2s ease;
  1268. }
  1269. .react-toggle:hover:not(.react-toggle--disabled) .react-toggle-track {
  1270. background-color: darken($color1, 10%);
  1271. }
  1272. .react-toggle--checked .react-toggle-track {
  1273. background-color: $color4;
  1274. }
  1275. .react-toggle--checked:hover:not(.react-toggle--disabled) .react-toggle-track {
  1276. background-color: lighten($color4, 10%);
  1277. }
  1278. .react-toggle-track-check {
  1279. position: absolute;
  1280. width: 14px;
  1281. height: 10px;
  1282. top: 0;
  1283. bottom: 0;
  1284. margin-top: auto;
  1285. margin-bottom: auto;
  1286. line-height: 0;
  1287. left: 8px;
  1288. opacity: 0;
  1289. transition: opacity 0.25s ease;
  1290. }
  1291. .react-toggle--checked .react-toggle-track-check {
  1292. opacity: 1;
  1293. transition: opacity 0.25s ease;
  1294. }
  1295. .react-toggle-track-x {
  1296. position: absolute;
  1297. width: 10px;
  1298. height: 10px;
  1299. top: 0;
  1300. bottom: 0;
  1301. margin-top: auto;
  1302. margin-bottom: auto;
  1303. line-height: 0;
  1304. right: 10px;
  1305. opacity: 1;
  1306. transition: opacity 0.25s ease;
  1307. }
  1308. .react-toggle--checked .react-toggle-track-x {
  1309. opacity: 0;
  1310. }
  1311. .react-toggle-thumb {
  1312. transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  1313. position: absolute;
  1314. top: 1px;
  1315. left: 1px;
  1316. width: 22px;
  1317. height: 22px;
  1318. border: 1px solid $color1;
  1319. border-radius: 50%;
  1320. background-color: darken($color5, 2%);
  1321. box-sizing: border-box;
  1322. transition: all 0.25s ease;
  1323. }
  1324. .react-toggle--checked .react-toggle-thumb {
  1325. left: 27px;
  1326. border-color: $color4;
  1327. }
  1328. .column-link {
  1329. background: lighten($color1, 8%);
  1330. color: $color5;
  1331. display: block;
  1332. font-size: 16px;
  1333. padding: 15px;
  1334. text-decoration: none;
  1335. &:hover {
  1336. background: lighten($color1, 11%);
  1337. }
  1338. &.hidden-on-mobile {
  1339. @media screen and (max-width: 1024px) {
  1340. display: none;
  1341. }
  1342. }
  1343. }
  1344. .column-link__icon {
  1345. display: inline-block;
  1346. margin-right: 5px;
  1347. }
  1348. .column-subheading {
  1349. background: $color1;
  1350. color: lighten($color1, 26%);
  1351. padding: 8px 20px;
  1352. font-size: 12px;
  1353. font-weight: 500;
  1354. text-transform: uppercase;
  1355. cursor: default;
  1356. }
  1357. .autosuggest-textarea,
  1358. .spoiler-input {
  1359. position: relative;
  1360. }
  1361. .autosuggest-textarea__textarea,
  1362. .spoiler-input__input {
  1363. display: block;
  1364. box-sizing: border-box;
  1365. width: 100%;
  1366. margin: 0;
  1367. color: $color1;
  1368. padding: 10px;
  1369. font-family: inherit;
  1370. font-size: 14px;
  1371. resize: vertical;
  1372. border: 0;
  1373. outline: 0;
  1374. &:focus {
  1375. outline: 0;
  1376. }
  1377. @media screen and (max-width: 600px) {
  1378. font-size: 16px;
  1379. }
  1380. }
  1381. .spoiler-input__input {
  1382. border-radius: 4px;
  1383. }
  1384. .autosuggest-textarea__textarea {
  1385. min-height: 100px;
  1386. background: $color5;
  1387. border-radius: 4px 4px 0 0;
  1388. padding-bottom: 0;
  1389. padding-right: 10px + 22px;
  1390. resize: none;
  1391. @media screen and (max-width: 600px) {
  1392. height: 100px !important; // prevent auto-resize textarea
  1393. resize: vertical;
  1394. }
  1395. }
  1396. .autosuggest-textarea__suggestions {
  1397. position: absolute;
  1398. top: 100%;
  1399. width: 100%;
  1400. z-index: 99;
  1401. box-shadow: 0 0 15px rgba($color8, 0.4);
  1402. background: $color2;
  1403. color: $color1;
  1404. font-size: 14px;
  1405. }
  1406. .autosuggest-textarea__suggestions__item {
  1407. padding: 10px;
  1408. cursor: pointer;
  1409. &:hover {
  1410. background: darken($color2, 10%);
  1411. }
  1412. &.selected {
  1413. background: $color4;
  1414. color: $color5;
  1415. }
  1416. }
  1417. .autosuggest-account {
  1418. overflow: hidden;
  1419. }
  1420. .autosuggest-account-icon {
  1421. float: left;
  1422. margin-right: 5px;
  1423. }
  1424. .autosuggest-status {
  1425. overflow: hidden;
  1426. white-space: nowrap;
  1427. text-overflow: ellipsis;
  1428. strong {
  1429. font-weight: 500;
  1430. }
  1431. }
  1432. .character-counter__wrapper {
  1433. line-height: 36px;
  1434. margin-right: 16px;
  1435. padding-top: 10px;
  1436. }
  1437. .character-counter {
  1438. cursor: default;
  1439. font-size: 16px;
  1440. }
  1441. .character-counter--over {
  1442. color: $color9;
  1443. }
  1444. .getting-started__wrapper {
  1445. position: relative;
  1446. }
  1447. .getting-started {
  1448. box-sizing: border-box;
  1449. padding-bottom: 235px;
  1450. background: url('../images/mastodon-getting-started.png') no-repeat 0 100% / contain local;
  1451. flex: 1 0 auto;
  1452. p {
  1453. color: $color2;
  1454. }
  1455. a {
  1456. color: lighten($color1, 26%);
  1457. }
  1458. }
  1459. .setting-text {
  1460. color: $color3;
  1461. background: transparent;
  1462. border: none;
  1463. border-bottom: 2px solid $color3;
  1464. box-sizing: border-box;
  1465. display: block;
  1466. font-family: inherit;
  1467. margin-bottom: 10px;
  1468. padding: 7px 0;
  1469. width: 100%;
  1470. &:focus,
  1471. &:active {
  1472. color: $color5;
  1473. border-bottom-color: $color4;
  1474. }
  1475. @media screen and (max-width: 600px) {
  1476. font-size: 16px;
  1477. }
  1478. }
  1479. @import 'boost';
  1480. button.icon-button i.fa-retweet {
  1481. background-position: 0 0;
  1482. height: 19px;
  1483. transition: background-position 0.9s steps(10);
  1484. transition-duration: 0s;
  1485. vertical-align: middle;
  1486. width: 22px;
  1487. &::before {
  1488. display: none !important;
  1489. }
  1490. }
  1491. button.icon-button.active i.fa-retweet {
  1492. transition-duration: 0.9s;
  1493. background-position: 0 100%;
  1494. }
  1495. .status-card {
  1496. display: flex;
  1497. cursor: pointer;
  1498. font-size: 14px;
  1499. border: 1px solid lighten($color1, 8%);
  1500. border-radius: 4px;
  1501. color: lighten($color1, 26%);
  1502. margin-top: 14px;
  1503. text-decoration: none;
  1504. overflow: hidden;
  1505. &:hover {
  1506. background: lighten($color1, 8%);
  1507. }
  1508. }
  1509. .status-card-video,
  1510. .status-card-rich,
  1511. .status-card-photo {
  1512. margin-top: 14px;
  1513. overflow: hidden;
  1514. iframe {
  1515. width: 100%;
  1516. height: auto;
  1517. }
  1518. }
  1519. .status-card-photo {
  1520. display: block;
  1521. text-decoration: none;
  1522. img {
  1523. display: block;
  1524. width: 100%;
  1525. height: auto;
  1526. margin: 0;
  1527. }
  1528. }
  1529. .status-card-video {
  1530. position: relative;
  1531. width: 100%;
  1532. height: auto;
  1533. padding-top: 56.25%;
  1534. iframe {
  1535. position: absolute;
  1536. top: 0;
  1537. left: 0;
  1538. bottom: 0;
  1539. right: 0;
  1540. width: 1px;
  1541. min-width: 100%;
  1542. height: 1px;
  1543. min-height: 100%;
  1544. margin: auto;
  1545. }
  1546. }
  1547. .status-card__title {
  1548. display: block;
  1549. font-weight: 500;
  1550. margin-bottom: 5px;
  1551. color: $color3;
  1552. overflow: hidden;
  1553. text-overflow: ellipsis;
  1554. white-space: nowrap;
  1555. }
  1556. .status-card__content {
  1557. flex: 1 1 auto;
  1558. overflow: hidden;
  1559. padding: 14px 14px 14px 8px;
  1560. }
  1561. .status-card__description {
  1562. color: $color3;
  1563. }
  1564. .status-card__host {
  1565. display: block;
  1566. margin-top: 5px;
  1567. font-size: 13px;
  1568. }
  1569. .status-card__image {
  1570. flex: 0 0 100px;
  1571. background: lighten($color1, 8%);
  1572. }
  1573. .status-card__image-image {
  1574. border-radius: 4px 0 0 4px;
  1575. display: block;
  1576. height: auto;
  1577. margin: 0;
  1578. width: 100%;
  1579. }
  1580. .load-more {
  1581. display: block;
  1582. color: lighten($color1, 26%);
  1583. text-align: center;
  1584. padding: 15px;
  1585. text-decoration: none;
  1586. &:hover {
  1587. background: lighten($color1, 2%);
  1588. }
  1589. }
  1590. .missing-indicator {
  1591. text-align: center;
  1592. font-size: 16px;
  1593. font-weight: 500;
  1594. color: lighten($color1, 16%);
  1595. background: $color1;
  1596. cursor: default;
  1597. display: flex;
  1598. flex: 1 1 auto;
  1599. align-items: center;
  1600. justify-content: center;
  1601. & > div {
  1602. background: url('../images/mastodon-not-found.png') no-repeat center -50px;
  1603. padding-top: 210px;
  1604. width: 100%;
  1605. }
  1606. }
  1607. .column-header {
  1608. padding: 15px;
  1609. font-size: 16px;
  1610. background: lighten($color1, 4%);
  1611. flex: 0 0 auto;
  1612. cursor: pointer;
  1613. position: relative;
  1614. z-index: 2;
  1615. outline: 0;
  1616. &.active {
  1617. box-shadow: 0 1px 0 rgba($color4, 0.3);
  1618. }
  1619. &.active .fa {
  1620. color: $color4;
  1621. text-shadow: 0 0 10px rgba($color4, 0.4);
  1622. }
  1623. &.hidden-on-mobile {
  1624. @media screen and (max-width: 1024px) {
  1625. display: none;
  1626. }
  1627. }
  1628. &:focus,
  1629. &:active {
  1630. outline: 0;
  1631. }
  1632. }
  1633. .column-header__icon {
  1634. display: inline-block;
  1635. margin-right: 5px;
  1636. }
  1637. .loading-indicator {
  1638. color: $color2;
  1639. font-size: 16px;
  1640. font-weight: 500;
  1641. padding-top: 120px;
  1642. text-align: center;
  1643. }
  1644. .collapsable-collapsed {
  1645. color: $color3;
  1646. background: lighten($color1, 4%);
  1647. }
  1648. .collapsable {
  1649. color: $color5;
  1650. background: lighten($color1, 8%);
  1651. &:hover {
  1652. color: $color5;
  1653. background: lighten($color1, 8%);
  1654. }
  1655. }
  1656. .video-error-cover {
  1657. align-items: center;
  1658. background: $color8;
  1659. color: $color5;
  1660. cursor: pointer;
  1661. display: flex;
  1662. flex-direction: column;
  1663. height: 100%;
  1664. justify-content: center;
  1665. margin-top: 8px;
  1666. position: relative;
  1667. text-align: center;
  1668. z-index: 100;
  1669. }
  1670. .media-spoiler {
  1671. align-items: center;
  1672. background: $color8;
  1673. color: $color5;
  1674. cursor: pointer;
  1675. display: flex;
  1676. flex-direction: column;
  1677. height: 100%;
  1678. justify-content: center;
  1679. position: relative;
  1680. text-align: center;
  1681. z-index: 100;
  1682. }
  1683. .media-spoiler__warning {
  1684. display: block;
  1685. font-size: 14px;
  1686. }
  1687. .media-spoiler__trigger {
  1688. display: block;
  1689. font-size: 11px;
  1690. font-weight: 500;
  1691. }
  1692. .spoiler-button {
  1693. left: 4px;
  1694. position: absolute;
  1695. text-shadow: 0 1px 1px $color8, 1px 0 1px $color8;
  1696. top: 4px;
  1697. z-index: 100;
  1698. }
  1699. .modal-container--preloader {
  1700. background: lighten($color1, 8%);
  1701. }
  1702. .account--panel {
  1703. background: lighten($color1, 4%);
  1704. border-top: 1px solid lighten($color1, 8%);
  1705. border-bottom: 1px solid lighten($color1, 8%);
  1706. display: flex;
  1707. flex-direction: row;
  1708. padding: 10px 0;
  1709. }
  1710. .account--panel__button,
  1711. .detailed-status__button {
  1712. flex: 1 1 auto;
  1713. text-align: center;
  1714. }
  1715. .column-settings__outer {
  1716. background: lighten($color1, 8%);
  1717. padding: 15px;
  1718. }
  1719. .column-settings__section {
  1720. color: $color3;
  1721. cursor: default;
  1722. display: block;
  1723. font-weight: 500;
  1724. margin-bottom: 10px;
  1725. }
  1726. .modal-container__nav {
  1727. align-items: center;
  1728. background: rgba($color8, 0.5);
  1729. box-sizing: border-box;
  1730. color: $color5;
  1731. cursor: pointer;
  1732. display: flex;
  1733. font-size: 24px;
  1734. height: 100%;
  1735. padding: 30px 15px;
  1736. position: absolute;
  1737. top: 0;
  1738. }
  1739. .modal-container__nav--left {
  1740. left: -61px;
  1741. }
  1742. .modal-container__nav--right {
  1743. right: -61px;
  1744. }
  1745. .account--follows-info {
  1746. color: $color5;
  1747. }
  1748. .setting-toggle__label {
  1749. display: block;
  1750. line-height: 24px;
  1751. vertical-align: middle;
  1752. }
  1753. .setting-toggle {
  1754. color: $color3;
  1755. display: inline-block;
  1756. margin-bottom: 14px;
  1757. margin-left: 8px;
  1758. vertical-align: middle;
  1759. }
  1760. .report.scrollable {
  1761. box-sizing: border-box;
  1762. display: flex;
  1763. flex-direction: column;
  1764. max-height: 100%;
  1765. }
  1766. .report__target {
  1767. border-bottom: 1px solid lighten($color1, 4%);
  1768. color: $color2;
  1769. flex: 0 0 auto;
  1770. padding: 10px;
  1771. strong {
  1772. display: block;
  1773. color: $color5;
  1774. font-weight: 500;
  1775. }
  1776. }
  1777. .report__statuses {
  1778. flex: 1 1 auto;
  1779. }
  1780. .report__textarea-wrapper {
  1781. flex: 0 0 100px;
  1782. padding: 10px;
  1783. }
  1784. .report__textarea {
  1785. background: transparent;
  1786. box-sizing: border-box;
  1787. border: 0;
  1788. border-bottom: 2px solid $color3;
  1789. border-radius: 2px 2px 0 0;
  1790. color: $color5;
  1791. display: block;
  1792. font-family: inherit;
  1793. font-size: 14px;
  1794. margin-bottom: 10px;
  1795. outline: 0;
  1796. padding: 7px 4px;
  1797. resize: vertical;
  1798. width: 100%;
  1799. &:active,
  1800. &:focus {
  1801. border-bottom-color: $color4;
  1802. background: rgba($color8, 0.1);
  1803. }
  1804. }
  1805. .report__submit {
  1806. margin-top: 10px;
  1807. overflow: hidden;
  1808. }
  1809. .report__submit-button {
  1810. float: right;
  1811. }
  1812. .empty-column-indicator {
  1813. color: lighten($color1, 20%);
  1814. background: $color1;
  1815. text-align: center;
  1816. padding: 20px;
  1817. font-size: 15px;
  1818. font-weight: 400;
  1819. cursor: default;
  1820. display: flex;
  1821. flex: 1 1 auto;
  1822. align-items: center;
  1823. a {
  1824. color: $color4;
  1825. text-decoration: none;
  1826. &:hover {
  1827. text-decoration: underline;
  1828. }
  1829. }
  1830. }
  1831. .status-list__unread-indicator,
  1832. .notifications__unread-indicator {
  1833. position: absolute;
  1834. top: 35px;
  1835. left: 0;
  1836. right: 0;
  1837. margin: 0 auto;
  1838. width: 60%;
  1839. pointer-events: none;
  1840. height: 28px;
  1841. z-index: 1;
  1842. background: radial-gradient(ellipse, rgba($color4, 0.23) 0%, rgba($color4, 0) 60%);
  1843. }
  1844. @keyframes pulse {
  1845. 0% {
  1846. opacity: 1;
  1847. }
  1848. 100% {
  1849. opacity: 0.5;
  1850. }
  1851. }
  1852. .pulse-loading {
  1853. animation: pulse 1s ease-in-out infinite;
  1854. animation-direction: alternate;
  1855. }
  1856. .emoji-dialog {
  1857. width: 245px;
  1858. height: 270px;
  1859. background: $color5;
  1860. box-sizing: border-box;
  1861. border-radius: 4px;
  1862. overflow: hidden;
  1863. position: relative;
  1864. box-shadow: 0 0 8px rgba($color8, 0.2);
  1865. .emojione {
  1866. margin: 0;
  1867. width: 100%;
  1868. height: auto;
  1869. }
  1870. .emoji-dialog-header {
  1871. padding: 0 10px;
  1872. ul {
  1873. padding: 0;
  1874. margin: 0;
  1875. list-style: none;
  1876. }
  1877. li {
  1878. display: inline-block;
  1879. box-sizing: border-box;
  1880. padding: 10px 5px;
  1881. cursor: pointer;
  1882. border-bottom: 2px solid transparent;
  1883. .emoji {
  1884. width: 18px;
  1885. height: 18px;
  1886. }
  1887. img,
  1888. svg {
  1889. width: 18px;
  1890. height: 18px;
  1891. filter: grayscale(100%);
  1892. }
  1893. &:hover {
  1894. img,
  1895. svg {
  1896. filter: grayscale(0);
  1897. }
  1898. }
  1899. &.active {
  1900. border-bottom-color: $color4;
  1901. img,
  1902. svg {
  1903. filter: grayscale(0);
  1904. }
  1905. }
  1906. }
  1907. }
  1908. .emoji-row {
  1909. box-sizing: border-box;
  1910. overflow-y: hidden;
  1911. padding-left: 10px;
  1912. .emoji {
  1913. display: inline-block;
  1914. padding: 2.5px;
  1915. border-radius: 4px;
  1916. }
  1917. }
  1918. .emoji-category-header {
  1919. box-sizing: border-box;
  1920. overflow-y: hidden;
  1921. padding: 10px 8px 10px 16px;
  1922. display: table;
  1923. > * {
  1924. display: table-cell;
  1925. vertical-align: middle;
  1926. }
  1927. }
  1928. .emoji-category-title {
  1929. font-size: 12px;
  1930. text-transform: uppercase;
  1931. font-weight: 500;
  1932. color: darken($color2, 18%);
  1933. cursor: default;
  1934. }
  1935. .emoji-category-heading-decoration {
  1936. text-align: right;
  1937. }
  1938. .modifiers {
  1939. list-style: none;
  1940. padding: 0;
  1941. margin: 0;
  1942. vertical-align: middle;
  1943. white-space: nowrap;
  1944. margin-top: 4px;
  1945. li {
  1946. display: inline-block;
  1947. padding: 0 2px;
  1948. &:last-of-type {
  1949. padding-right: 0;
  1950. }
  1951. }
  1952. .modifier {
  1953. display: inline-block;
  1954. border-radius: 10px;
  1955. width: 15px;
  1956. height: 15px;
  1957. position: relative;
  1958. cursor: pointer;
  1959. &.active::after {
  1960. content: "";
  1961. display: block;
  1962. position: absolute;
  1963. width: 7px;
  1964. height: 7px;
  1965. border-radius: 10px;
  1966. border: 2px solid $color5;
  1967. top: 2px;
  1968. left: 2px;
  1969. }
  1970. }
  1971. }
  1972. .emoji-search-wrapper {
  1973. padding: 10px;
  1974. border-bottom: 1px solid lighten($color2, 4%);
  1975. }
  1976. .emoji-search {
  1977. font-size: 14px;
  1978. font-weight: 400;
  1979. padding: 7px 9px;
  1980. font-family: inherit;
  1981. display: block;
  1982. width: 100%;
  1983. background: rgba($color2, 0.3);
  1984. color: darken($color2, 18%);
  1985. border: 1px solid $color2;
  1986. border-radius: 4px;
  1987. }
  1988. .emoji-categories-wrapper {
  1989. position: absolute;
  1990. top: 42px;
  1991. bottom: 0;
  1992. left: 0;
  1993. right: 0;
  1994. }
  1995. .emoji-search-wrapper + .emoji-categories-wrapper {
  1996. top: 93px;
  1997. }
  1998. .emoji-row .emoji {
  1999. img,
  2000. svg {
  2001. transition: transform 60ms ease-in-out;
  2002. }
  2003. &:hover {
  2004. background: lighten($color2, 3%);
  2005. img,
  2006. svg {
  2007. transform: translateZ(0) scale(1.2);
  2008. }
  2009. }
  2010. }
  2011. .emoji {
  2012. width: 22px;
  2013. height: 22px;
  2014. cursor: pointer;
  2015. &:focus {
  2016. outline: 0;
  2017. }
  2018. }
  2019. }
  2020. .upload-area {
  2021. align-items: center;
  2022. background: rgba($color8, 0.8);
  2023. display: flex;
  2024. height: 100%;
  2025. justify-content: center;
  2026. left: 0;
  2027. opacity: 0;
  2028. position: absolute;
  2029. top: 0;
  2030. visibility: hidden;
  2031. width: 100%;
  2032. z-index: 2000;
  2033. * {
  2034. pointer-events: none;
  2035. }
  2036. }
  2037. .upload-area__drop {
  2038. width: 320px;
  2039. height: 160px;
  2040. display: flex;
  2041. box-sizing: border-box;
  2042. position: relative;
  2043. padding: 8px;
  2044. }
  2045. .upload-area__background {
  2046. position: absolute;
  2047. top: 0;
  2048. right: 0;
  2049. bottom: 0;
  2050. left: 0;
  2051. z-index: -1;
  2052. border-radius: 4px;
  2053. background: $color1;
  2054. box-shadow: 0 0 5px rgba($color8, 0.2);
  2055. }
  2056. .upload-area__content {
  2057. flex: 1;
  2058. display: flex;
  2059. align-items: center;
  2060. justify-content: center;
  2061. color: $color2;
  2062. font-size: 18px;
  2063. font-weight: 500;
  2064. border: 2px dashed lighten($color1, 26%);
  2065. border-radius: 4px;
  2066. }
  2067. .upload-progress {
  2068. padding: 10px;
  2069. color: lighten($color1, 26%);
  2070. overflow: hidden;
  2071. display: flex;
  2072. .fa {
  2073. font-size: 34px;
  2074. margin-right: 10px;
  2075. }
  2076. span {
  2077. font-size: 12px;
  2078. text-transform: uppercase;
  2079. font-weight: 500;
  2080. display: block;
  2081. }
  2082. }
  2083. .upload-progess__message {
  2084. flex: 1 1 auto;
  2085. }
  2086. .upload-progress__backdrop {
  2087. width: 100%;
  2088. height: 6px;
  2089. border-radius: 6px;
  2090. background: lighten($color1, 26%);
  2091. position: relative;
  2092. margin-top: 5px;
  2093. }
  2094. .upload-progress__tracker {
  2095. position: absolute;
  2096. left: 0;
  2097. top: 0;
  2098. height: 6px;
  2099. background: $color4;
  2100. border-radius: 6px;
  2101. }
  2102. .emoji-button {
  2103. outline: 0;
  2104. &:active,
  2105. &:focus {
  2106. outline: 0 !important;
  2107. }
  2108. img {
  2109. filter: grayscale(100%);
  2110. opacity: 0.8;
  2111. display: block;
  2112. margin: 0;
  2113. width: 22px;
  2114. height: 22px;
  2115. margin-top: 2px;
  2116. }
  2117. &:hover,
  2118. &:active,
  2119. &:focus {
  2120. img {
  2121. opacity: 1;
  2122. filter: none;
  2123. }
  2124. }
  2125. }
  2126. .dropdown--active .emoji-button img {
  2127. opacity: 1;
  2128. filter: none;
  2129. }
  2130. .privacy-dropdown {
  2131. position: relative;
  2132. }
  2133. .privacy-dropdown__dropdown {
  2134. display: none;
  2135. position: absolute;
  2136. left: 0;
  2137. top: 27px;
  2138. width: 230px;
  2139. background: $color5;
  2140. border-radius: 0 4px 4px;
  2141. z-index: 2;
  2142. overflow: hidden;
  2143. }
  2144. .privacy-dropdown__option {
  2145. color: $color1;
  2146. padding: 10px;
  2147. cursor: pointer;
  2148. display: flex;
  2149. &:hover,
  2150. &.active {
  2151. background: $color4;
  2152. color: $color5;
  2153. .privacy-dropdown__option__content {
  2154. color: $color5;
  2155. strong {
  2156. color: $color5;
  2157. }
  2158. }
  2159. }
  2160. &.active:hover {
  2161. background: lighten($color4, 4%);
  2162. }
  2163. }
  2164. .privacy-dropdown__option__icon {
  2165. display: flex;
  2166. align-items: center;
  2167. justify-content: center;
  2168. margin-right: 10px;
  2169. }
  2170. .privacy-dropdown__option__content {
  2171. flex: 1 1 auto;
  2172. color: darken($color3, 24%);
  2173. strong {
  2174. font-weight: 500;
  2175. display: block;
  2176. color: $color1;
  2177. }
  2178. }
  2179. .privacy-dropdown.active {
  2180. .privacy-dropdown__value {
  2181. background: $color5;
  2182. border-radius: 4px 4px 0 0;
  2183. box-shadow: 0 -4px 4px rgba($color8, 0.1);
  2184. }
  2185. .privacy-dropdown__dropdown {
  2186. display: block;
  2187. box-shadow: 2px 4px 6px rgba($color8, 0.1);
  2188. }
  2189. }
  2190. .search {
  2191. position: relative;
  2192. }
  2193. .search__input {
  2194. padding-right: 30px;
  2195. color: $color2;
  2196. outline: 0;
  2197. box-sizing: border-box;
  2198. display: block;
  2199. width: 100%;
  2200. border: none;
  2201. padding: 10px;
  2202. padding-right: 30px;
  2203. font-family: inherit;
  2204. background: $color1;
  2205. color: $color3;
  2206. font-size: 14px;
  2207. margin: 0;
  2208. &::-moz-focus-inner {
  2209. border: 0;
  2210. }
  2211. &::-moz-focus-inner,
  2212. &:focus,
  2213. &:active {
  2214. outline: 0 !important;
  2215. }
  2216. &:focus {
  2217. background: lighten($color1, 4%);
  2218. }
  2219. @media screen and (max-width: 600px) {
  2220. font-size: 16px;
  2221. }
  2222. }
  2223. .search__icon {
  2224. .fa {
  2225. position: absolute;
  2226. top: 10px;
  2227. right: 10px;
  2228. z-index: 2;
  2229. display: inline-block;
  2230. opacity: 0;
  2231. transition: all 100ms linear;
  2232. font-size: 18px;
  2233. width: 18px;
  2234. height: 18px;
  2235. color: $color2;
  2236. cursor: default;
  2237. pointer-events: none;
  2238. &.active {
  2239. pointer-events: auto;
  2240. opacity: 0.3;
  2241. }
  2242. }
  2243. .fa-search {
  2244. transform: translateZ(0) rotate(90deg);
  2245. &.active {
  2246. pointer-events: none;
  2247. transform: translateZ(0) rotate(0deg);
  2248. }
  2249. }
  2250. .fa-times-circle {
  2251. top: 11px;
  2252. transform: translateZ(0) rotate(0deg);
  2253. cursor: pointer;
  2254. &.active {
  2255. transform: translateZ(0) rotate(90deg);
  2256. }
  2257. &:hover {
  2258. color: $color5;
  2259. }
  2260. }
  2261. }
  2262. .search-results__header {
  2263. color: lighten($color1, 26%);
  2264. background: lighten($color1, 2%);
  2265. border-bottom: 1px solid darken($color1, 4%);
  2266. padding: 15px 10px;
  2267. font-size: 14px;
  2268. font-weight: 500;
  2269. }
  2270. .search-results__hashtag {
  2271. display: block;
  2272. padding: 10px;
  2273. color: $color2;
  2274. text-decoration: none;
  2275. &:hover,
  2276. &:active,
  2277. &:focus {
  2278. color: lighten($color2, 4%);
  2279. text-decoration: underline;
  2280. }
  2281. }
  2282. .modal-root__overlay {
  2283. position: absolute;
  2284. top: 0;
  2285. left: 0;
  2286. right: 0;
  2287. bottom: 0;
  2288. z-index: 9999;
  2289. opacity: 0;
  2290. background: rgba($color8, 0.7);
  2291. transform: translateZ(0);
  2292. }
  2293. .modal-root__container {
  2294. position: absolute;
  2295. top: 0;
  2296. left: 0;
  2297. width: 100%;
  2298. height: 100%;
  2299. display: flex;
  2300. flex-direction: column;
  2301. align-items: center;
  2302. justify-content: center;
  2303. align-content: space-around;
  2304. z-index: 9999;
  2305. opacity: 0;
  2306. pointer-events: none;
  2307. user-select: none;
  2308. }
  2309. .modal-root__modal {
  2310. pointer-events: auto;
  2311. display: flex;
  2312. z-index: 9999;
  2313. }
  2314. .media-modal {
  2315. max-width: 80vw;
  2316. max-height: 80vh;
  2317. position: relative;
  2318. img,
  2319. video {
  2320. max-width: 80vw;
  2321. max-height: 80vh;
  2322. }
  2323. }
  2324. .media-modal__close {
  2325. position: absolute;
  2326. right: 4px;
  2327. top: 4px;
  2328. z-index: 100;
  2329. }
  2330. .onboarding-modal {
  2331. background: $color2;
  2332. color: $color1;
  2333. border-radius: 8px;
  2334. overflow: hidden;
  2335. display: flex;
  2336. flex-direction: column;
  2337. }
  2338. .onboarding-modal__pager {
  2339. height: 80vh;
  2340. width: 80vw;
  2341. max-width: 520px;
  2342. max-height: 420px;
  2343. position: relative;
  2344. & > div {
  2345. position: absolute;
  2346. top: 0;
  2347. left: 0;
  2348. width: 100%;
  2349. height: 100%;
  2350. box-sizing: border-box;
  2351. padding: 25px;
  2352. display: none;
  2353. flex-direction: column;
  2354. align-items: center;
  2355. justify-content: center;
  2356. display: flex;
  2357. opacity: 0;
  2358. user-select: text;
  2359. }
  2360. }
  2361. @media screen and (max-width: 550px) {
  2362. .onboarding-modal {
  2363. width: 100%;
  2364. height: 100%;
  2365. border-radius: 0;
  2366. }
  2367. .onboarding-modal__pager {
  2368. width: 100%;
  2369. height: auto;
  2370. max-width: none;
  2371. max-height: none;
  2372. flex: 1 1 auto;
  2373. }
  2374. }
  2375. .onboarding-modal__paginator {
  2376. flex: 0 0 auto;
  2377. background: darken($color2, 8%);
  2378. display: flex;
  2379. padding: 25px;
  2380. & > div {
  2381. min-width: 33px;
  2382. }
  2383. a {
  2384. color: darken($color2, 34%);
  2385. text-decoration: none;
  2386. font-size: 14px;
  2387. font-weight: 500;
  2388. &:hover,
  2389. &:focus,
  2390. &:active {
  2391. color: darken($color2, 38%);
  2392. }
  2393. &.onboarding-modal__done,
  2394. &.onboarding-modal__next {
  2395. color: $color4;
  2396. }
  2397. }
  2398. }
  2399. .onboarding-modal__dots {
  2400. flex: 1 1 auto;
  2401. display: flex;
  2402. align-items: center;
  2403. justify-content: center;
  2404. }
  2405. .onboarding-modal__dot {
  2406. width: 14px;
  2407. height: 14px;
  2408. border-radius: 14px;
  2409. background: darken($color2, 16%);
  2410. margin: 0 3px;
  2411. cursor: pointer;
  2412. &:hover {
  2413. background: darken($color2, 18%);
  2414. }
  2415. &.active {
  2416. cursor: default;
  2417. background: darken($color2, 24%);
  2418. }
  2419. }
  2420. .onboarding-modal__page {
  2421. cursor: default;
  2422. line-height: 21px;
  2423. h1 {
  2424. font-size: 18px;
  2425. font-weight: 500;
  2426. color: $color1;
  2427. margin-bottom: 20px;
  2428. }
  2429. a {
  2430. color: $color4;
  2431. &:hover,
  2432. &:focus,
  2433. &:active {
  2434. color: lighten($color4, 4%);
  2435. }
  2436. }
  2437. p {
  2438. font-size: 16px;
  2439. color: lighten($color1, 8%);
  2440. margin-top: 10px;
  2441. margin-bottom: 10px;
  2442. &:last-child {
  2443. margin-bottom: 0;
  2444. }
  2445. strong {
  2446. font-weight: 500;
  2447. background: $color1;
  2448. color: $color2;
  2449. border-radius: 4px;
  2450. font-size: 14px;
  2451. padding: 3px 6px;
  2452. }
  2453. }
  2454. }
  2455. .onboarding-modal__page-one {
  2456. display: flex;
  2457. }
  2458. .onboarding-modal__page-one__elephant-friend {
  2459. background: url('../images/elephant-friend.png') no-repeat center center / contain;
  2460. width: 147px;
  2461. height: 160px;
  2462. margin-right: 10px;
  2463. }
  2464. @media screen and (max-width: 400px) {
  2465. .onboarding-modal__page-one {
  2466. flex-direction: column;
  2467. }
  2468. .onboarding-modal__page-one__elephant-friend {
  2469. width: 100%;
  2470. height: 30vh;
  2471. max-height: 160px;
  2472. margin-bottom: 5vh;
  2473. }
  2474. }
  2475. .onboarding-modal__page-two,
  2476. .onboarding-modal__page-three,
  2477. .onboarding-modal__page-four,
  2478. .onboarding-modal__page-five {
  2479. p {
  2480. text-align: left;
  2481. }
  2482. .figure {
  2483. background: darken($color1, 8%);
  2484. color: $color2;
  2485. margin-bottom: 20px;
  2486. border-radius: 4px;
  2487. padding: 10px;
  2488. text-align: center;
  2489. font-size: 14px;
  2490. box-shadow: 1px 2px 6px rgba($color8, 0.3);
  2491. .onboarding-modal__image {
  2492. border-radius: 4px;
  2493. margin-bottom: 10px;
  2494. }
  2495. &.non-interactive {
  2496. pointer-events: none;
  2497. text-align: left;
  2498. }
  2499. }
  2500. }
  2501. .onboarding-modal__page-four__columns {
  2502. .row {
  2503. display: flex;
  2504. margin-bottom: 20px;
  2505. & > div {
  2506. flex: 1 1 0;
  2507. margin: 0 10px;
  2508. &:first-child {
  2509. margin-left: 0;
  2510. }
  2511. &:last-child {
  2512. margin-right: 0;
  2513. }
  2514. p {
  2515. text-align: center;
  2516. }
  2517. }
  2518. &:last-child {
  2519. margin-bottom: 0;
  2520. }
  2521. }
  2522. .column-header {
  2523. color: $color5;
  2524. }
  2525. }
  2526. @media screen and (max-width: 320px) and (max-height: 600px) {
  2527. .onboarding-modal__page p {
  2528. font-size: 14px;
  2529. line-height: 20px;
  2530. }
  2531. .onboarding-modal__page-two .figure,
  2532. .onboarding-modal__page-three .figure,
  2533. .onboarding-modal__page-four .figure,
  2534. .onboarding-modal__page-five .figure {
  2535. font-size: 12px;
  2536. margin-bottom: 10px;
  2537. }
  2538. .onboarding-modal__page-four__columns .row {
  2539. margin-bottom: 10px;
  2540. }
  2541. .onboarding-modal__page-four__columns .column-header {
  2542. padding: 5px;
  2543. font-size: 12px;
  2544. }
  2545. }
  2546. .onboarding-modal__image {
  2547. border-radius: 8px;
  2548. width: 70vw;
  2549. max-width: 450px;
  2550. max-height: auto;
  2551. display: block;
  2552. margin: auto;
  2553. margin-bottom: 20px;
  2554. }
  2555. .onboard-sliders {
  2556. display: inline-block;
  2557. max-width: 30px;
  2558. max-height: auto;
  2559. margin-left: 10px;
  2560. }
  2561. .boost-modal,
  2562. .confirmation-modal {
  2563. background: lighten($color2, 8%);
  2564. color: $color1;
  2565. border-radius: 8px;
  2566. overflow: hidden;
  2567. max-width: 90vw;
  2568. width: 480px;
  2569. position: relative;
  2570. flex-direction: column;
  2571. .status__display-name {
  2572. display: block;
  2573. max-width: 100%;
  2574. padding-right: 25px;
  2575. }
  2576. .status__avatar {
  2577. height: 28px;
  2578. left: 10px;
  2579. position: absolute;
  2580. top: 10px;
  2581. width: 48px;
  2582. }
  2583. }
  2584. .boost-modal__container {
  2585. overflow-x: scroll;
  2586. padding: 10px;
  2587. .status {
  2588. user-select: text;
  2589. border-bottom: 0;
  2590. }
  2591. }
  2592. .boost-modal__action-bar,
  2593. .confirmation-modal__action-bar {
  2594. display: flex;
  2595. background: $color2;
  2596. padding: 10px;
  2597. line-height: 36px;
  2598. & > div {
  2599. flex: 1 1 auto;
  2600. text-align: right;
  2601. color: lighten($color1, 33%);
  2602. padding-right: 10px;
  2603. }
  2604. .button {
  2605. flex: 0 0 auto;
  2606. }
  2607. }
  2608. .boost-modal__status-header {
  2609. font-size: 15px;
  2610. }
  2611. .boost-modal__status-time {
  2612. float: right;
  2613. font-size: 14px;
  2614. }
  2615. .confirmation-modal {
  2616. max-width: 280px;
  2617. @media screen and (min-width: 480px) {
  2618. max-width: 380px;
  2619. }
  2620. }
  2621. .confirmation-modal__action-bar {
  2622. & > div {
  2623. text-align: left;
  2624. padding: 0 16px;
  2625. }
  2626. a {
  2627. color: darken($color2, 34%);
  2628. text-decoration: none;
  2629. font-size: 14px;
  2630. font-weight: 500;
  2631. &:hover,
  2632. &:focus,
  2633. &:active {
  2634. color: darken($color2, 38%);
  2635. }
  2636. }
  2637. }
  2638. .confirmation-modal__container {
  2639. padding: 30px;
  2640. font-size: 16px;
  2641. text-align: center;
  2642. strong {
  2643. font-weight: 500;
  2644. }
  2645. }
  2646. .loading-bar {
  2647. background-color: $color4;
  2648. height: 3px;
  2649. position: absolute;
  2650. top: 0;
  2651. left: 0;
  2652. }
  2653. .media-gallery__gifv__label {
  2654. display: block;
  2655. position: absolute;
  2656. color: $color5;
  2657. background: rgba($color8, 0.5);
  2658. bottom: 6px;
  2659. left: 6px;
  2660. padding: 2px 6px;
  2661. border-radius: 2px;
  2662. font-size: 11px;
  2663. font-weight: 600;
  2664. z-index: 1;
  2665. pointer-events: none;
  2666. opacity: 0.9;
  2667. transition: opacity 0.1s ease;
  2668. }
  2669. .media-gallery__gifv {
  2670. &.autoplay {
  2671. .media-gallery__gifv__label {
  2672. display: none;
  2673. }
  2674. }
  2675. &:hover {
  2676. .media-gallery__gifv__label {
  2677. opacity: 1;
  2678. }
  2679. }
  2680. }
  2681. .attachment-list {
  2682. display: flex;
  2683. font-size: 14px;
  2684. border: 1px solid lighten($color1, 8%);
  2685. border-radius: 4px;
  2686. margin-top: 14px;
  2687. overflow: hidden;
  2688. }
  2689. .attachment-list__icon {
  2690. flex: 0 0 auto;
  2691. color: lighten($color1, 26%);
  2692. padding: 8px 18px;
  2693. cursor: default;
  2694. border-right: 1px solid lighten($color1, 8%);
  2695. display: flex;
  2696. flex-direction: column;
  2697. align-items: center;
  2698. justify-content: center;
  2699. font-size: 26px;
  2700. .fa {
  2701. display: block;
  2702. }
  2703. }
  2704. .attachment-list__list {
  2705. list-style: none;
  2706. padding: 4px 0;
  2707. padding-left: 8px;
  2708. display: flex;
  2709. flex-direction: column;
  2710. justify-content: center;
  2711. li {
  2712. display: block;
  2713. padding: 4px 0;
  2714. }
  2715. a {
  2716. text-decoration: none;
  2717. color: lighten($color1, 26%);
  2718. font-weight: 500;
  2719. &:hover {
  2720. text-decoration: underline;
  2721. }
  2722. }
  2723. }
  2724. /* Media Gallery */
  2725. .media-gallery {
  2726. box-sizing: border-box;
  2727. margin-top: 8px;
  2728. overflow: hidden;
  2729. position: relative;
  2730. width: 100%;
  2731. }
  2732. .media-gallery__item {
  2733. border: none;
  2734. box-sizing: border-box;
  2735. display: block;
  2736. float: left;
  2737. position: relative;
  2738. }
  2739. .media-gallery__item-thumbnail {
  2740. background-position: center;
  2741. background-repeat: no-repeat;
  2742. background-size: cover;
  2743. cursor: zoom-in;
  2744. display: block;
  2745. height: 100%;
  2746. text-decoration: none;
  2747. width: 100%;
  2748. }
  2749. .media-gallery__gifv {
  2750. height: 100%;
  2751. overflow: hidden;
  2752. position: relative;
  2753. width: 100%;
  2754. }
  2755. .media-gallery__item-gifv-thumbnail {
  2756. cursor: zoom-in;
  2757. height: 100%;
  2758. object-fit: cover;
  2759. position: relative;
  2760. top: 50%;
  2761. transform: translateY(-50%);
  2762. width: 100%;
  2763. z-index: 1;
  2764. }
  2765. .media-gallery__item-thumbnail-label {
  2766. clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  2767. clip: rect(1px, 1px, 1px, 1px);
  2768. overflow: hidden;
  2769. position: absolute;
  2770. }
  2771. /* End Media Gallery */
  2772. /* Status Video Player */
  2773. .status__video-player {
  2774. background: $color8;
  2775. box-sizing: border-box;
  2776. cursor: default; /* May not be needed */
  2777. margin-top: 8px;
  2778. overflow: hidden;
  2779. position: relative;
  2780. }
  2781. .status__video-player-video {
  2782. height: 100%;
  2783. object-fit: cover;
  2784. position: relative;
  2785. top: 50%;
  2786. transform: translateY(-35%);
  2787. width: 100%;
  2788. z-index: 1;
  2789. }
  2790. .status__video-player-expand,
  2791. .status__video-player-mute {
  2792. color: $color5;
  2793. opacity: 0.8;
  2794. position: absolute;
  2795. right: 4px;
  2796. text-shadow: 0 1px 1px $color8, 1px 0 1px $color8;
  2797. }
  2798. .status__video-player-spoiler {
  2799. color: $color5;
  2800. left: 4px;
  2801. position: absolute;
  2802. text-shadow: 0 1px 1px $color8, 1px 0 1px $color8;
  2803. top: 4px;
  2804. z-index: 100;
  2805. }
  2806. .status__video-player-expand {
  2807. bottom: 4px;
  2808. z-index: 100;
  2809. }
  2810. .status__video-player-mute {
  2811. top: 4px;
  2812. z-index: 5;
  2813. }
  2814. .media-spoiler-video {
  2815. background-size: cover;
  2816. cursor: pointer;
  2817. margin-top: 8px;
  2818. position: relative;
  2819. }
  2820. .media-spoiler-video-play-icon {
  2821. border-radius: 100px;
  2822. color: rgba($color5, 0.8);
  2823. font-size: 36px;
  2824. left: 50%;
  2825. padding: 5px;
  2826. position: absolute;
  2827. top: 50%;
  2828. transform: translate(-50%, -50%);
  2829. }
  2830. /* End Video Player */