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.

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