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.

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