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.

700 lines
11 KiB

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