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.

741 lines
12 KiB

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