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.

754 lines
12 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
  1. .button {
  2. background-color: darken($color4, 3%);
  3. font-family: inherit;
  4. display: inline-block;
  5. position: relative;
  6. box-sizing: border-box;
  7. text-align: center;
  8. border: 10px none;
  9. color: $color5;
  10. font-size: 14px;
  11. font-weight: 500;
  12. letter-spacing: 0;
  13. text-transform: uppercase;
  14. padding: 0 16px;
  15. height: 36px;
  16. cursor: pointer;
  17. line-height: 36px;
  18. border-radius: 4px;
  19. text-decoration: none;
  20. &:hover {
  21. background-color: lighten($color4, 7%);
  22. }
  23. &:disabled {
  24. background-color: $color3;
  25. cursor: default;
  26. }
  27. &.button-secondary {
  28. background-color: $color1;
  29. &:hover {
  30. background-color: $color1;
  31. }
  32. &:disabled {
  33. background-color: $color3;
  34. }
  35. }
  36. }
  37. .icon-button {
  38. color: lighten($color1, 26%);
  39. border: none;
  40. background: transparent;
  41. cursor: pointer;
  42. &:hover {
  43. color: lighten($color1, 33%);
  44. }
  45. &.disabled {
  46. color: lighten($color1, 13%);
  47. cursor: default;
  48. }
  49. &.active {
  50. color: $color4;
  51. }
  52. }
  53. .invisible {
  54. font-size: 0;
  55. line-height: 0;
  56. display: inline-block;
  57. width: 0;
  58. }
  59. .ellipsis {
  60. &:after {
  61. content: "";
  62. }
  63. }
  64. .lightbox .icon-button {
  65. color: $color1;
  66. }
  67. .compose-form__textarea, .follow-form__input {
  68. background: $color5;
  69. &:disabled {
  70. background: $color2;
  71. }
  72. }
  73. .emojione {
  74. display: inline-block;
  75. font-size: inherit;
  76. vertical-align: middle;
  77. margin: -.2ex .15em .2ex;
  78. width: 16px;
  79. height: 16px;
  80. img {
  81. width: auto;
  82. }
  83. }
  84. .status__content, .reply-indicator__content {
  85. font-size: 15px;
  86. line-height: 20px;
  87. word-wrap: break-word;
  88. font-weight: 400;
  89. overflow: hidden;
  90. white-space: pre-wrap;
  91. .emojione {
  92. width: 18px;
  93. height: 18px;
  94. }
  95. p {
  96. margin-bottom: 20px;
  97. &:last-child {
  98. margin-bottom: 0;
  99. }
  100. }
  101. a {
  102. color: $color2;
  103. text-decoration: none;
  104. &:hover {
  105. text-decoration: underline;
  106. .fa {
  107. color: lighten($color1, 40%);
  108. }
  109. }
  110. &.mention {
  111. &:hover {
  112. text-decoration: none;
  113. span {
  114. text-decoration: underline;
  115. }
  116. }
  117. }
  118. .fa {
  119. color: lighten($color1, 30%);
  120. }
  121. }
  122. .status__content__spoiler-link {
  123. background: lighten($color1, 30%);
  124. &:hover {
  125. background: lighten($color1, 33%);
  126. text-decoration: none;
  127. }
  128. }
  129. }
  130. .detailed-status {
  131. .status__content {
  132. font-size: 19px;
  133. line-height: 24px;
  134. .emojione {
  135. width: 22px;
  136. height: 22px;
  137. }
  138. }
  139. }
  140. .reply-indicator__content {
  141. color: $color1;
  142. font-size: 14px;
  143. a {
  144. color: lighten($color1, 20%);
  145. }
  146. }
  147. .account__header__content {
  148. word-wrap: break-word;
  149. font-weight: 400;
  150. overflow: hidden;
  151. p {
  152. margin-bottom: 20px;
  153. &:last-child {
  154. margin-bottom: 0;
  155. }
  156. }
  157. a {
  158. color: inherit;
  159. text-decoration: underline;
  160. &:hover {
  161. text-decoration: none;
  162. }
  163. }
  164. }
  165. .account__header__display-name {
  166. .emojione {
  167. width: 25px;
  168. height: 25px;
  169. }
  170. }
  171. .status__display-name, .status__relative-time, .detailed-status__display-name, .detailed-status__datetime, .detailed-status__application, .account__display-name {
  172. text-decoration: none;
  173. }
  174. .status__display-name, .account__display-name {
  175. strong {
  176. color: $color5;
  177. }
  178. &.muted {
  179. .emojione {
  180. opacity: 0.5;
  181. }
  182. }
  183. }
  184. .status__display-name, .reply-indicator__display-name, .detailed-status__display-name, .account__display-name {
  185. &:hover {
  186. strong {
  187. text-decoration: underline;
  188. }
  189. }
  190. }
  191. .account__display-name {
  192. strong {
  193. display: block;
  194. }
  195. }
  196. .detailed-status__display-name {
  197. color: $color2;
  198. line-height: 24px;
  199. strong, span {
  200. display: block;
  201. }
  202. strong {
  203. font-size: 16px;
  204. color: $color5;
  205. }
  206. }
  207. .muted {
  208. .status__content p, .status__content a {
  209. color: lighten($color1, 26%);
  210. }
  211. .status__display-name strong {
  212. color: lighten($color1, 26%);
  213. }
  214. .status__avatar {
  215. opacity: 0.5;
  216. }
  217. .status__content__spoiler-link {
  218. background: lighten($color1, 26%);
  219. &:hover {
  220. background: lighten($color1, 29%);
  221. text-decoration: none;
  222. }
  223. }
  224. }
  225. .notification__display-name {
  226. color: inherit;
  227. text-decoration: none;
  228. &:hover {
  229. color: $color5;
  230. text-decoration: underline;
  231. }
  232. }
  233. .status__relative-time, .detailed-status__datetime {
  234. &:hover {
  235. text-decoration: underline;
  236. }
  237. }
  238. .transparent-background, .imageloader {
  239. background: image-url('void.png');
  240. }
  241. .imageloader {
  242. display: block;
  243. }
  244. .dropdown {
  245. display: inline-block;
  246. }
  247. .dropdown__content {
  248. display: none;
  249. position: absolute;
  250. }
  251. .dropdown--active .dropdown__content {
  252. display: block;
  253. z-index: 9999;
  254. &:before {
  255. content: "";
  256. display: block;
  257. position: absolute;
  258. width: 0;
  259. height: 0;
  260. border-style: solid;
  261. border-width: 0 4.5px 7.8px 4.5px;
  262. border-color: transparent transparent $color2 transparent;
  263. top: -7px;
  264. left: 8px;
  265. }
  266. ul {
  267. list-style: none;
  268. background: $color2;
  269. padding: 4px 0;
  270. border-radius: 4px;
  271. box-shadow: 0 0 15px rgba($color8, 0.4);
  272. min-width: 100px;
  273. }
  274. a {
  275. font-size: 13px;
  276. display: block;
  277. padding: 6px 16px;
  278. width: 100px;
  279. text-decoration: none;
  280. background: $color2;
  281. color: $color1;
  282. &:hover {
  283. background: $color4;
  284. color: $color2;
  285. }
  286. }
  287. }
  288. .static-content {
  289. padding: 10px;
  290. padding-top: 20px;
  291. color: lighten($color1, 26%);
  292. h1 {
  293. font-size: 16px;
  294. font-weight: 500;
  295. margin-bottom: 40px;
  296. text-align: center;
  297. }
  298. p {
  299. font-size: 13px;
  300. margin-bottom: 20px;
  301. }
  302. }
  303. .columns-area {
  304. flex-direction: row;
  305. justify-content: flex-start;
  306. }
  307. @media screen and (min-width: 360px) {
  308. .columns-area {
  309. margin: 10px;
  310. }
  311. }
  312. .column {
  313. width: 330px;
  314. position: relative;
  315. }
  316. .drawer {
  317. width: 280px;
  318. }
  319. @media screen and (min-width: 2560px) {
  320. .columns-area {
  321. justify-content: center;
  322. }
  323. .column, .drawer {
  324. width: 350px;
  325. border-radius: 4px;
  326. height: 90vh;
  327. margin-top: 5vh;
  328. }
  329. }
  330. .drawer__inner {
  331. background: linear-gradient(rgba(lighten($color1, 13%), 1), rgba(lighten($color1, 13%), 0.65));
  332. }
  333. .drawer__header {
  334. flex: 0 0 auto;
  335. font-size: 16px;
  336. background: lighten($color1, 8%);
  337. margin-bottom: 10px;
  338. display: flex;
  339. flex-direction: row;
  340. a {
  341. transition: all 100ms ease-in;
  342. &:hover {
  343. background: lighten($color1, 3%);
  344. transition: all 200ms ease-out;
  345. }
  346. }
  347. }
  348. .column, .drawer {
  349. margin-left: 5px;
  350. margin-right: 5px;
  351. flex: 0 0 auto;
  352. overflow: hidden;
  353. }
  354. .column:first-child, .drawer:first-child {
  355. margin-left: 0;
  356. }
  357. .column:last-child, .drawer:last-child {
  358. margin-right: 0;
  359. }
  360. @media screen and (max-width: 1024px) {
  361. .column, .drawer {
  362. width: 100%;
  363. margin: 0;
  364. flex: 1 1 100%;
  365. }
  366. .columns-area {
  367. flex-direction: column;
  368. }
  369. }
  370. .tabs-bar {
  371. display: flex;
  372. }
  373. @media screen and (min-width: 360px) {
  374. .tabs-bar {
  375. margin: 10px;
  376. margin-bottom: 0;
  377. }
  378. }
  379. @media screen and (min-width: 1025px) {
  380. .tabs-bar {
  381. display: none;
  382. }
  383. }
  384. .react-autosuggest__container {
  385. position: relative;
  386. }
  387. .react-autosuggest__suggestions-container {
  388. position: absolute;
  389. top: 100%;
  390. width: 100%;
  391. z-index: 99;
  392. box-shadow: 0 0 15px rgba($color8, 0.4);
  393. }
  394. .react-autosuggest__section-title {
  395. background: $color3;
  396. padding: 4px 10px;
  397. font-weight: 500;
  398. cursor: default;
  399. color: $color1;
  400. text-transform: uppercase;
  401. font-size: 11px;
  402. }
  403. .react-autosuggest__suggestions-list {
  404. background: $color2;
  405. color: $color1;
  406. font-size: 14px;
  407. }
  408. .react-autosuggest__suggestion {
  409. padding: 10px;
  410. cursor: pointer;
  411. }
  412. .react-autosuggest__suggestion--focused {
  413. background: $color4;
  414. color: $color5;
  415. }
  416. .scrollable {
  417. overflow-y: scroll;
  418. overflow-x: hidden;
  419. flex: 1 1 auto;
  420. -webkit-overflow-scrolling: touch;
  421. &.optionally-scrollable {
  422. overflow-y: auto;
  423. }
  424. }
  425. .column-back-button {
  426. &:hover {
  427. text-decoration: underline;
  428. }
  429. }
  430. .react-toggle {
  431. display: inline-block;
  432. position: relative;
  433. cursor: pointer;
  434. background-color: transparent;
  435. border: 0;
  436. padding: 0;
  437. user-select: none;
  438. -webkit-tap-highlight-color: rgba($color8, 0);
  439. -webkit-tap-highlight-color: transparent;
  440. }
  441. .react-toggle-screenreader-only {
  442. border: 0;
  443. clip: rect(0 0 0 0);
  444. height: 1px;
  445. margin: -1px;
  446. overflow: hidden;
  447. padding: 0;
  448. position: absolute;
  449. width: 1px;
  450. }
  451. .react-toggle--disabled {
  452. cursor: not-allowed;
  453. opacity: 0.5;
  454. transition: opacity 0.25s;
  455. }
  456. .react-toggle-track {
  457. width: 50px;
  458. height: 24px;
  459. padding: 0;
  460. border-radius: 30px;
  461. background-color: $color1;
  462. transition: all 0.2s ease;
  463. }
  464. .react-toggle:hover:not(.react-toggle--disabled) .react-toggle-track {
  465. background-color: darken($color1, 10%);
  466. }
  467. .react-toggle--checked .react-toggle-track {
  468. background-color: $color4;
  469. }
  470. .react-toggle--checked:hover:not(.react-toggle--disabled) .react-toggle-track {
  471. background-color: lighten($color4, 10%);
  472. }
  473. .react-toggle-track-check {
  474. position: absolute;
  475. width: 14px;
  476. height: 10px;
  477. top: 0px;
  478. bottom: 0px;
  479. margin-top: auto;
  480. margin-bottom: auto;
  481. line-height: 0;
  482. left: 8px;
  483. opacity: 0;
  484. transition: opacity 0.25s ease;
  485. }
  486. .react-toggle--checked .react-toggle-track-check {
  487. opacity: 1;
  488. transition: opacity 0.25s ease;
  489. }
  490. .react-toggle-track-x {
  491. position: absolute;
  492. width: 10px;
  493. height: 10px;
  494. top: 0px;
  495. bottom: 0px;
  496. margin-top: auto;
  497. margin-bottom: auto;
  498. line-height: 0;
  499. right: 10px;
  500. opacity: 1;
  501. transition: opacity 0.25s ease;
  502. }
  503. .react-toggle--checked .react-toggle-track-x {
  504. opacity: 0;
  505. }
  506. .react-toggle-thumb {
  507. transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  508. position: absolute;
  509. top: 1px;
  510. left: 1px;
  511. width: 22px;
  512. height: 22px;
  513. border: 1px solid $color1;
  514. border-radius: 50%;
  515. background-color: darken($color5, 2%);
  516. box-sizing: border-box;
  517. transition: all 0.25s ease;
  518. }
  519. .react-toggle--checked .react-toggle-thumb {
  520. left: 27px;
  521. border-color: $color4;
  522. }
  523. .column-link {
  524. background: lighten($color1, 6%);
  525. &:hover {
  526. background: lighten($color1, 11%);
  527. }
  528. }
  529. .autosuggest-textarea, .spoiler-input {
  530. position: relative;
  531. }
  532. .autosuggest-textarea__textarea, .spoiler-input__input {
  533. display: block;
  534. box-sizing: border-box;
  535. width: 100%;
  536. resize: none;
  537. margin: 0;
  538. color: $color1;
  539. padding: 7px;
  540. font-family: inherit;
  541. font-size: 14px;
  542. resize: vertical;
  543. border: 3px dashed transparent;
  544. transition: border-color 0.3s ease;
  545. &.file-drop {
  546. border-color: darken($color5, 33%);
  547. }
  548. }
  549. .autosuggest-textarea__textarea {
  550. height: 100px;
  551. }
  552. .autosuggest-textarea__suggestions {
  553. position: absolute;
  554. top: 100%;
  555. width: 100%;
  556. z-index: 99;
  557. box-shadow: 0 0 15px rgba($color8, 0.4);
  558. background: $color2;
  559. color: $color1;
  560. font-size: 14px;
  561. }
  562. .autosuggest-textarea__suggestions__item {
  563. padding: 10px;
  564. cursor: pointer;
  565. &:hover {
  566. background: darken($color2, 10%);
  567. }
  568. &.selected {
  569. background: $color4;
  570. color: $color5;
  571. }
  572. }
  573. .getting-started {
  574. box-sizing: border-box;
  575. overflow-y: auto;
  576. padding-bottom: 235px;
  577. background: image-url('mastodon-getting-started.png') no-repeat bottom left;
  578. height: auto;
  579. min-height: 100%;
  580. p {
  581. color: $color2;
  582. }
  583. }
  584. .dropdown__content.dropdown__left {
  585. transform: translateX(-108px);
  586. &::before {
  587. right: 8px !important;
  588. left: initial !important;
  589. }
  590. }
  591. .setting-text {
  592. color: $color3;
  593. background: transparent;
  594. border: none;
  595. border-bottom: 2px solid $color3;
  596. &:focus, &:active {
  597. color: $color5;
  598. border-bottom-color: $color4;
  599. }
  600. }
  601. @import 'boost';
  602. button i.fa-retweet {
  603. height: 19px;
  604. width: 22px;
  605. background-position: 0 0;
  606. transition: background-position 0.9s steps(10);
  607. transition-duration: 0s;
  608. &::before {
  609. display: none !important;
  610. }
  611. }
  612. button.active i.fa-retweet {
  613. transition-duration: 0.9s;
  614. background-position: 0 100%;
  615. }
  616. .status-card {
  617. &:hover {
  618. background: lighten($color1, 6%);
  619. }
  620. }
  621. .load-more {
  622. &:hover {
  623. background: lighten($color1, 6%);
  624. }
  625. }