闭社主体 forked from https://github.com/tootsuite/mastodon
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.

824 lines
18 KiB

  1. .landing-page {
  2. p,
  3. li {
  4. font-family: 'mastodon-font-sans-serif', sans-serif;
  5. font-size: 16px;
  6. font-weight: 400;
  7. font-size: 16px;
  8. line-height: 30px;
  9. margin-bottom: 12px;
  10. color: $ui-primary-color;
  11. a {
  12. color: $ui-highlight-color;
  13. text-decoration: underline;
  14. }
  15. }
  16. em {
  17. display: inline;
  18. margin: 0;
  19. padding: 0;
  20. font-weight: 700;
  21. background: transparent;
  22. font-family: inherit;
  23. font-size: inherit;
  24. line-height: inherit;
  25. color: lighten($ui-primary-color, 10%);
  26. }
  27. h1 {
  28. font-family: 'mastodon-font-display', sans-serif;
  29. font-size: 26px;
  30. line-height: 30px;
  31. font-weight: 500;
  32. margin-bottom: 20px;
  33. color: $ui-secondary-color;
  34. small {
  35. font-family: 'mastodon-font-sans-serif', sans-serif;
  36. display: block;
  37. font-size: 18px;
  38. font-weight: 400;
  39. color: $ui-base-lighter-color;
  40. }
  41. }
  42. h2 {
  43. font-family: 'mastodon-font-display', sans-serif;
  44. font-size: 22px;
  45. line-height: 26px;
  46. font-weight: 500;
  47. margin-bottom: 20px;
  48. color: $ui-secondary-color;
  49. }
  50. h3 {
  51. font-family: 'mastodon-font-display', sans-serif;
  52. font-size: 18px;
  53. line-height: 24px;
  54. font-weight: 500;
  55. margin-bottom: 20px;
  56. color: $ui-secondary-color;
  57. }
  58. h4 {
  59. font-family: 'mastodon-font-display', sans-serif;
  60. font-size: 16px;
  61. line-height: 24px;
  62. font-weight: 500;
  63. margin-bottom: 20px;
  64. color: $ui-secondary-color;
  65. }
  66. h5 {
  67. font-family: 'mastodon-font-display', sans-serif;
  68. font-size: 14px;
  69. line-height: 24px;
  70. font-weight: 500;
  71. margin-bottom: 20px;
  72. color: $ui-secondary-color;
  73. }
  74. h6 {
  75. font-family: 'mastodon-font-display', sans-serif;
  76. font-size: 12px;
  77. line-height: 24px;
  78. font-weight: 500;
  79. margin-bottom: 20px;
  80. color: $ui-secondary-color;
  81. }
  82. ul,
  83. ol {
  84. margin-left: 20px;
  85. &[type='a'] {
  86. list-style-type: lower-alpha;
  87. }
  88. &[type='i'] {
  89. list-style-type: lower-roman;
  90. }
  91. }
  92. ul {
  93. list-style: disc;
  94. }
  95. ol {
  96. list-style: decimal;
  97. }
  98. li > ol,
  99. li > ul {
  100. margin-top: 6px;
  101. }
  102. hr {
  103. border-color: rgba($ui-base-lighter-color, .6);
  104. }
  105. .container {
  106. width: 100%;
  107. box-sizing: border-box;
  108. max-width: 800px;
  109. margin: 0 auto;
  110. word-wrap: break-word;
  111. }
  112. .header-wrapper {
  113. padding-top: 15px;
  114. background: $ui-base-color;
  115. background: linear-gradient(150deg, lighten($ui-base-color, 8%), $ui-base-color);
  116. position: relative;
  117. &.compact {
  118. background: $ui-base-color;
  119. padding-bottom: 15px;
  120. .hero .heading {
  121. padding-bottom: 20px;
  122. font-family: 'mastodon-font-sans-serif', sans-serif;
  123. font-size: 16px;
  124. font-weight: 400;
  125. font-size: 16px;
  126. line-height: 30px;
  127. color: $ui-primary-color;
  128. a {
  129. color: $ui-highlight-color;
  130. text-decoration: underline;
  131. }
  132. }
  133. }
  134. .mascot-container {
  135. max-width: 800px;
  136. margin: 0 auto;
  137. position: absolute;
  138. top: 0;
  139. left: 0;
  140. right: 0;
  141. height: 100%;
  142. }
  143. .mascot {
  144. position: absolute;
  145. bottom: -14px;
  146. width: auto;
  147. height: auto;
  148. left: 60px;
  149. z-index: 3;
  150. }
  151. }
  152. .header {
  153. line-height: 30px;
  154. overflow: hidden;
  155. .container {
  156. display: flex;
  157. justify-content: space-between;
  158. }
  159. .links {
  160. position: relative;
  161. z-index: 4;
  162. a {
  163. display: flex;
  164. justify-content: center;
  165. align-items: center;
  166. color: $ui-primary-color;
  167. text-decoration: none;
  168. padding: 12px 16px;
  169. line-height: 32px;
  170. font-family: 'mastodon-font-display', sans-serif;
  171. font-weight: 500;
  172. font-size: 14px;
  173. &:hover {
  174. color: $ui-secondary-color;
  175. }
  176. }
  177. .brand {
  178. a {
  179. padding-left: 0;
  180. padding-right: 0;
  181. color: $white;
  182. }
  183. img {
  184. height: 32px;
  185. position: relative;
  186. top: 4px;
  187. left: -10px;
  188. }
  189. }
  190. ul {
  191. list-style: none;
  192. margin: 0;
  193. li {
  194. display: inline-block;
  195. vertical-align: bottom;
  196. margin: 0;
  197. &:first-child a {
  198. padding-left: 0;
  199. }
  200. &:last-child a {
  201. padding-right: 0;
  202. }
  203. }
  204. }
  205. }
  206. .hero {
  207. margin-top: 50px;
  208. align-items: center;
  209. position: relative;
  210. .floats {
  211. position: absolute;
  212. width: 100%;
  213. height: 100%;
  214. top: 0;
  215. left: 0;
  216. div {
  217. position: absolute;
  218. transition: all 0.1s linear;
  219. animation-name: floating;
  220. animation-iteration-count: infinite;
  221. animation-direction: alternate;
  222. animation-timing-function: ease-in-out;
  223. z-index: 2;
  224. }
  225. .float-1 {
  226. width: 324px;
  227. height: 170px;
  228. right: -120px;
  229. bottom: 0;
  230. animation-duration: 3s;
  231. background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 447.1875 234.375" height="170" width="324"><path fill="#{hex-color($ui-base-lighter-color)}" d="M21.69 233.366c-6.45-1.268-13.347-5.63-16.704-10.564-10.705-15.734-1.513-37.724 18.632-44.57l4.8-1.632.173-17.753c.146-14.77.515-19.063 2.2-25.55 6.736-25.944 24.46-46.032 47.766-54.137 11.913-4.143 19.558-5.366 34.178-5.47l13.828-.096V71.12c0-4.755 2.853-17.457 5.238-23.327 8.588-21.137 26.735-35.957 52.153-42.593 23.248-6.07 50.153-6.415 71.863-.923 11.14 2.82 25.686 9.957 33.857 16.615 19.335 15.756 31.82 41.05 35.183 71.275.59 5.305.672 5.435 3.11 4.926 11.833-2.474 30.4-3.132 40.065-1.42 24.388 4.32 40.568 19.076 47.214 43.058 2.16 7.8 3.953 23.894 3.59 32.237l-.24 5.498 5.156 1.317c6.392 1.633 14.55 7.098 18.003 12.062 1.435 2.062 3.305 6.597 4.156 10.078 1.428 5.84 1.43 6.8.04 12.44-1.807 7.318-5.672 13.252-10.872 16.694-8.508 5.63 3.756 5.33-211.916 5.216-108.56-.056-199.22-.464-201.47-.906z"/></svg>');
  232. }
  233. .float-2 {
  234. width: 241px;
  235. height: 100px;
  236. right: 210px;
  237. bottom: 0;
  238. animation-duration: 3.5s;
  239. animation-delay: 0.2s;
  240. background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 536.25 222.1875" height="100" width="241"><path fill="#{hex-color($ui-base-lighter-color)}" d="M42.626 221.23c-14.104-1.174-26.442-5.133-32.825-10.534-4.194-3.548-7.684-10.66-8.868-18.075-1.934-12.102.633-22.265 7.528-29.81 7.61-8.328 19.998-12.76 39.855-14.257l8.47-.638-2.08-6.223c-4.826-14.422-6.357-24.813-6.37-43.255-.012-14.923.28-18.513 2.1-25.724 2.283-9.048 8.483-23.034 13.345-30.1 14.76-21.45 43.505-38.425 70.535-41.65 30.628-3.655 64.47 12.073 89.668 41.673l5.955 6.995 2.765-4.174c1.52-2.296 5.74-6.93 9.376-10.295 18.382-17.02 43.436-20.676 73.352-10.705 12.158 4.052 21.315 9.53 29.64 17.733 12.752 12.562 18.16 25.718 18.19 44.26l.02 10.98 2.312-3.01c15.64-20.365 42.29-20.485 62.438-.28 3.644 3.653 7.558 8.593 8.697 10.976 4.895 10.24 5.932 25.688 2.486 37.046-.76 2.507-1.388 4.816-1.393 5.13-.006.316 6.845.87 15.224 1.234 53.06 2.297 76.356 12.98 81.817 37.526 3.554 15.973-3.71 28.604-19.566 34.02-4.554 1.555-17.922 1.655-234.517 1.757-126.327.06-233.497-.21-238.154-.597z"/></svg>');
  241. }
  242. .float-3 {
  243. width: 267px;
  244. height: 140px;
  245. right: 110px;
  246. top: -30px;
  247. animation-duration: 4s;
  248. animation-delay: 0.5s;
  249. background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 388.125 202.5" height="140" width="267"><path fill="#{hex-color($ui-base-lighter-color)}" d="M181.37 201.458c-17.184-1.81-36.762-8.944-49.523-18.05l-5.774-4.12-8.074 2.63c-11.468 3.738-21.382 4.962-35.815 4.422-14.79-.554-24.577-2.845-36.716-8.594-15.483-7.332-28.498-19.98-35.985-34.968C2.44 128.675-.94 108.435.9 91.356c3.362-31.234 18.197-53.698 43.63-66.074 12.803-6.23 22.384-8.55 37.655-9.122 14.433-.54 24.347.684 35.814 4.42l8.073 2.633 5.635-4.01c24.81-17.656 60.007-23.332 92.914-14.985 10.11 2.565 25.498 9.62 33.102 15.178l5.068 3.704 7.632-2.564c10.89-3.66 21.086-4.916 35.516-4.376 45.816 1.716 76.422 30.03 81.285 75.196 1.84 17.08-1.54 37.32-8.585 51.422-7.487 14.99-20.502 27.636-35.984 34.968-12.14 5.75-21.926 8.04-36.716 8.593-14.43.54-24.626-.716-35.516-4.376l-7.632-2.564-5.068 3.704c-12.844 9.387-32.714 16.488-51.545 18.42-10.607 1.09-13.916 1.08-24.81-.066z"/></svg>');
  250. }
  251. }
  252. .heading {
  253. position: relative;
  254. z-index: 4;
  255. padding-bottom: 150px;
  256. }
  257. .simple_form,
  258. .closed-registrations-message {
  259. background: darken($ui-base-color, 4%);
  260. width: 280px;
  261. padding: 15px 20px;
  262. border-radius: 4px 4px 0 0;
  263. line-height: initial;
  264. position: relative;
  265. z-index: 4;
  266. .actions {
  267. margin-bottom: 0;
  268. button,
  269. .button,
  270. .block-button {
  271. margin-bottom: 0;
  272. }
  273. }
  274. }
  275. .closed-registrations-message {
  276. min-height: 330px;
  277. display: flex;
  278. flex-direction: column;
  279. justify-content: space-between;
  280. }
  281. }
  282. }
  283. .about-short {
  284. background: darken($ui-base-color, 4%);
  285. padding: 50px 0 30px;
  286. font-family: 'mastodon-font-sans-serif', sans-serif;
  287. font-size: 16px;
  288. font-weight: 400;
  289. font-size: 16px;
  290. line-height: 30px;
  291. color: $ui-primary-color;
  292. a {
  293. color: $ui-highlight-color;
  294. text-decoration: underline;
  295. }
  296. }
  297. .information-board {
  298. background: darken($ui-base-color, 4%);
  299. padding: 20px 0;
  300. .container {
  301. position: relative;
  302. padding-right: 280px + 15px;
  303. }
  304. .information-board-sections {
  305. display: flex;
  306. justify-content: space-between;
  307. flex-wrap: wrap;
  308. }
  309. .section {
  310. flex: 1 0 0;
  311. font-family: 'mastodon-font-sans-serif', sans-serif;
  312. font-size: 16px;
  313. line-height: 28px;
  314. color: $primary-text-color;
  315. text-align: right;
  316. padding: 10px 15px;
  317. span,
  318. strong {
  319. display: block;
  320. }
  321. span {
  322. &:last-child {
  323. color: $ui-secondary-color;
  324. }
  325. }
  326. strong {
  327. font-weight: 500;
  328. font-size: 32px;
  329. line-height: 48px;
  330. }
  331. }
  332. .panel {
  333. position: absolute;
  334. width: 280px;
  335. box-sizing: border-box;
  336. background: darken($ui-base-color, 8%);
  337. padding: 20px;
  338. padding-top: 10px;
  339. border-radius: 4px 4px 0 0;
  340. right: 0;
  341. bottom: -40px;
  342. .panel-header {
  343. font-family: 'mastodon-font-display', sans-serif;
  344. font-size: 14px;
  345. line-height: 24px;
  346. font-weight: 500;
  347. color: $ui-primary-color;
  348. padding-bottom: 5px;
  349. margin-bottom: 15px;
  350. border-bottom: 1px solid lighten($ui-base-color, 4%);
  351. text-overflow: ellipsis;
  352. white-space: nowrap;
  353. overflow: hidden;
  354. a,
  355. span {
  356. font-weight: 400;
  357. color: darken($ui-primary-color, 10%);
  358. }
  359. a {
  360. text-decoration: none;
  361. }
  362. }
  363. }
  364. .owner {
  365. text-align: center;
  366. .avatar {
  367. width: 80px;
  368. height: 80px;
  369. margin: 0 auto;
  370. margin-bottom: 15px;
  371. img {
  372. display: block;
  373. width: 80px;
  374. height: 80px;
  375. border-radius: 48px;
  376. }
  377. }
  378. .name {
  379. font-size: 14px;
  380. a {
  381. display: block;
  382. color: $primary-text-color;
  383. text-decoration: none;
  384. &:hover {
  385. .display_name {
  386. text-decoration: underline;
  387. }
  388. }
  389. }
  390. .username {
  391. display: block;
  392. color: $ui-primary-color;
  393. }
  394. }
  395. }
  396. }
  397. .features {
  398. padding: 50px 0;
  399. .container {
  400. display: flex;
  401. }
  402. #mastodon-timeline {
  403. display: flex;
  404. -webkit-overflow-scrolling: touch;
  405. -ms-overflow-style: -ms-autohiding-scrollbar;
  406. font-family: 'mastodon-font-sans-serif', sans-serif;
  407. font-size: 13px;
  408. line-height: 18px;
  409. font-weight: 400;
  410. color: $primary-text-color;
  411. width: 330px;
  412. margin-right: 30px;
  413. flex: 0 0 auto;
  414. background: $ui-base-color;
  415. overflow: hidden;
  416. border-radius: 4px;
  417. box-shadow: 0 0 6px rgba($black, 0.1);
  418. .column-header {
  419. color: inherit;
  420. font-family: inherit;
  421. font-size: 16px;
  422. line-height: inherit;
  423. font-weight: inherit;
  424. margin: 0;
  425. padding: 15px;
  426. }
  427. .column {
  428. padding: 0;
  429. border-radius: 4px;
  430. overflow: hidden;
  431. }
  432. .scrollable {
  433. height: 400px;
  434. }
  435. p {
  436. font-size: inherit;
  437. line-height: inherit;
  438. font-weight: inherit;
  439. color: $primary-text-color;
  440. margin-bottom: 20px;
  441. &:last-child {
  442. margin-bottom: 0;
  443. }
  444. a {
  445. color: $ui-secondary-color;
  446. text-decoration: none;
  447. }
  448. }
  449. }
  450. .about-mastodon {
  451. max-width: 675px;
  452. p {
  453. margin-bottom: 20px;
  454. }
  455. .features-list {
  456. margin-top: 20px;
  457. .features-list__row {
  458. display: flex;
  459. padding: 10px 0;
  460. justify-content: space-between;
  461. &:first-child {
  462. padding-top: 0;
  463. }
  464. .visual {
  465. flex: 0 0 auto;
  466. display: flex;
  467. align-items: center;
  468. margin-left: 15px;
  469. .fa {
  470. display: block;
  471. color: $ui-primary-color;
  472. font-size: 48px;
  473. }
  474. }
  475. .text {
  476. font-size: 16px;
  477. line-height: 30px;
  478. color: $ui-primary-color;
  479. h6 {
  480. font-size: inherit;
  481. line-height: inherit;
  482. margin-bottom: 0;
  483. }
  484. }
  485. }
  486. }
  487. }
  488. }
  489. .extended-description {
  490. padding: 50px 0;
  491. font-family: 'mastodon-font-sans-serif', sans-serif;
  492. font-size: 16px;
  493. font-weight: 400;
  494. font-size: 16px;
  495. line-height: 30px;
  496. color: $ui-primary-color;
  497. a {
  498. color: $ui-highlight-color;
  499. text-decoration: underline;
  500. }
  501. }
  502. .footer-links {
  503. padding-bottom: 50px;
  504. text-align: right;
  505. color: $ui-base-lighter-color;
  506. p {
  507. font-size: 14px;
  508. }
  509. a {
  510. color: inherit;
  511. text-decoration: underline;
  512. }
  513. }
  514. @media screen and (max-width: 840px) {
  515. .container {
  516. padding: 0 20px;
  517. }
  518. .information-board {
  519. .container {
  520. padding-right: 20px;
  521. }
  522. .section {
  523. text-align: center;
  524. }
  525. .panel {
  526. position: static;
  527. margin-top: 20px;
  528. width: 100%;
  529. border-radius: 4px;
  530. .panel-header {
  531. text-align: center;
  532. }
  533. }
  534. }
  535. .header-wrapper .mascot {
  536. left: 20px;
  537. }
  538. }
  539. @media screen and (max-width: 689px) {
  540. .header-wrapper .mascot {
  541. display: none;
  542. }
  543. }
  544. @media screen and (max-width: 675px) {
  545. .header-wrapper {
  546. padding-top: 0;
  547. &.compact {
  548. padding-bottom: 0;
  549. }
  550. &.compact .hero .heading {
  551. text-align: initial;
  552. }
  553. }
  554. .header .container,
  555. .features .container {
  556. display: block;
  557. }
  558. .header {
  559. .links {
  560. padding-top: 15px;
  561. background: darken($ui-base-color, 4%);
  562. a {
  563. padding: 12px 8px;
  564. }
  565. .nav {
  566. display: flex;
  567. flex-flow: row wrap;
  568. justify-content: space-around;
  569. }
  570. .brand img {
  571. left: 0;
  572. top: 0;
  573. }
  574. }
  575. .hero {
  576. margin-top: 30px;
  577. padding: 0;
  578. .floats {
  579. display: none;
  580. }
  581. .heading {
  582. padding: 30px 20px;
  583. text-align: center;
  584. }
  585. .simple_form,
  586. .closed-registrations-message {
  587. background: darken($ui-base-color, 8%);
  588. width: 100%;
  589. border-radius: 0;
  590. box-sizing: border-box;
  591. }
  592. }
  593. }
  594. .features #mastodon-timeline {
  595. height: 70vh;
  596. width: 100%;
  597. margin-bottom: 50px;
  598. .column {
  599. width: 100%;
  600. }
  601. }
  602. }
  603. .cta {
  604. margin: 20px;
  605. }
  606. &.tag-page {
  607. .features {
  608. padding: 30px 0;
  609. .container {
  610. max-width: 820px;
  611. #mastodon-timeline {
  612. margin-right: 0;
  613. border-top-right-radius: 0;
  614. }
  615. .about-mastodon {
  616. .about-hashtag {
  617. background: darken($ui-base-color, 4%);
  618. padding: 0 20px 20px 30px;
  619. border-radius: 0 5px 5px 0;
  620. .brand {
  621. padding-top: 20px;
  622. margin-bottom: 20px;
  623. img {
  624. height: 48px;
  625. width: auto;
  626. }
  627. }
  628. p {
  629. strong {
  630. color: $ui-secondary-color;
  631. font-weight: 700;
  632. }
  633. }
  634. .cta {
  635. margin: 0;
  636. .button {
  637. margin-right: 4px;
  638. }
  639. }
  640. }
  641. .features-list {
  642. margin-left: 30px;
  643. margin-right: 10px;
  644. }
  645. }
  646. }
  647. }
  648. @media screen and (max-width: 675px) {
  649. .features {
  650. padding: 10px 0;
  651. .container {
  652. display: flex;
  653. flex-direction: column;
  654. #mastodon-timeline {
  655. order: 2;
  656. flex: 0 0 auto;
  657. height: 60vh;
  658. margin-bottom: 20px;
  659. border-top-right-radius: 4px;
  660. }
  661. .about-mastodon {
  662. order: 1;
  663. flex: 0 0 auto;
  664. max-width: 100%;
  665. .about-hashtag {
  666. background: unset;
  667. padding: 0;
  668. border-radius: 0;
  669. .cta {
  670. margin: 20px 0;
  671. }
  672. }
  673. .features-list {
  674. display: none;
  675. }
  676. }
  677. }
  678. }
  679. }
  680. }
  681. }
  682. @keyframes floating {
  683. from {
  684. transform: translate(0, 0);
  685. }
  686. 65% {
  687. transform: translate(0, 4px);
  688. }
  689. to {
  690. transform: translate(0, -0);
  691. }
  692. }