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.

1035 lines
18 KiB

  1. $maximum-width: 1235px;
  2. $fluid-breakpoint: $maximum-width + 20px;
  3. $column-breakpoint: 700px;
  4. $small-breakpoint: 960px;
  5. .container {
  6. box-sizing: border-box;
  7. max-width: $maximum-width;
  8. margin: 0 auto;
  9. position: relative;
  10. @media screen and (max-width: $fluid-breakpoint) {
  11. width: 100%;
  12. padding: 0 10px;
  13. }
  14. }
  15. .show-xs,
  16. .show-sm {
  17. display: none;
  18. }
  19. .show-m {
  20. display: block;
  21. }
  22. @media screen and (max-width: $small-breakpoint) {
  23. .hide-sm {
  24. display: none !important;
  25. }
  26. .show-sm {
  27. display: block !important;
  28. }
  29. }
  30. @media screen and (max-width: $column-breakpoint) {
  31. .hide-xs {
  32. display: none !important;
  33. }
  34. .show-xs {
  35. display: block !important;
  36. }
  37. }
  38. .row {
  39. display: flex;
  40. flex-wrap: wrap;
  41. margin: 0 -5px;
  42. @for $i from 1 through 15 {
  43. .column-#{$i} {
  44. box-sizing: border-box;
  45. min-height: 1px;
  46. flex: 0 0 percentage($i / 15);
  47. max-width: percentage($i / 15);
  48. padding: 0 5px;
  49. @media screen and (max-width: $small-breakpoint) {
  50. &-sm {
  51. box-sizing: border-box;
  52. min-height: 1px;
  53. flex: 0 0 percentage($i / 15);
  54. max-width: percentage($i / 15);
  55. padding: 0 5px;
  56. @media screen and (max-width: $column-breakpoint) {
  57. max-width: 100%;
  58. flex: 0 0 100%;
  59. margin-bottom: 10px;
  60. &:last-child {
  61. margin-bottom: 0;
  62. }
  63. }
  64. }
  65. }
  66. @media screen and (max-width: $column-breakpoint) {
  67. max-width: 100%;
  68. flex: 0 0 100%;
  69. margin-bottom: 10px;
  70. &:last-child {
  71. margin-bottom: 0;
  72. }
  73. }
  74. }
  75. }
  76. }
  77. .column-flex {
  78. display: flex;
  79. flex-direction: column;
  80. }
  81. .separator-or {
  82. position: relative;
  83. margin: 40px 0;
  84. text-align: center;
  85. &::before {
  86. content: "";
  87. display: block;
  88. width: 100%;
  89. height: 0;
  90. border-bottom: 1px solid rgba($ui-base-lighter-color, .6);
  91. position: absolute;
  92. top: 50%;
  93. left: 0;
  94. }
  95. span {
  96. display: inline-block;
  97. background: $ui-base-color;
  98. font-size: 12px;
  99. font-weight: 500;
  100. color: $ui-primary-color;
  101. text-transform: uppercase;
  102. position: relative;
  103. z-index: 1;
  104. padding: 0 8px;
  105. cursor: default;
  106. }
  107. }
  108. .landing-page {
  109. p,
  110. li {
  111. font-family: 'mastodon-font-sans-serif', sans-serif;
  112. font-size: 16px;
  113. font-weight: 400;
  114. font-size: 16px;
  115. line-height: 30px;
  116. margin-bottom: 12px;
  117. color: $ui-primary-color;
  118. a {
  119. color: $ui-highlight-color;
  120. text-decoration: underline;
  121. }
  122. }
  123. em {
  124. display: inline;
  125. margin: 0;
  126. padding: 0;
  127. font-weight: 700;
  128. background: transparent;
  129. font-family: inherit;
  130. font-size: inherit;
  131. line-height: inherit;
  132. color: lighten($ui-primary-color, 10%);
  133. }
  134. h1 {
  135. font-family: 'mastodon-font-display', sans-serif;
  136. font-size: 26px;
  137. line-height: 30px;
  138. font-weight: 500;
  139. margin-bottom: 20px;
  140. color: $ui-secondary-color;
  141. small {
  142. font-family: 'mastodon-font-sans-serif', sans-serif;
  143. display: block;
  144. font-size: 18px;
  145. font-weight: 400;
  146. color: $ui-base-lighter-color;
  147. }
  148. }
  149. h2 {
  150. font-family: 'mastodon-font-display', sans-serif;
  151. font-size: 22px;
  152. line-height: 26px;
  153. font-weight: 500;
  154. margin-bottom: 20px;
  155. color: $ui-secondary-color;
  156. }
  157. h3 {
  158. font-family: 'mastodon-font-display', sans-serif;
  159. font-size: 18px;
  160. line-height: 24px;
  161. font-weight: 500;
  162. margin-bottom: 20px;
  163. color: $ui-secondary-color;
  164. }
  165. h4 {
  166. font-family: 'mastodon-font-display', sans-serif;
  167. font-size: 16px;
  168. line-height: 24px;
  169. font-weight: 500;
  170. margin-bottom: 20px;
  171. color: $ui-secondary-color;
  172. }
  173. h5 {
  174. font-family: 'mastodon-font-display', sans-serif;
  175. font-size: 14px;
  176. line-height: 24px;
  177. font-weight: 500;
  178. margin-bottom: 20px;
  179. color: $ui-secondary-color;
  180. }
  181. h6 {
  182. font-family: 'mastodon-font-display', sans-serif;
  183. font-size: 12px;
  184. line-height: 24px;
  185. font-weight: 500;
  186. margin-bottom: 20px;
  187. color: $ui-secondary-color;
  188. }
  189. ul,
  190. ol {
  191. margin-left: 20px;
  192. &[type='a'] {
  193. list-style-type: lower-alpha;
  194. }
  195. &[type='i'] {
  196. list-style-type: lower-roman;
  197. }
  198. }
  199. ul {
  200. list-style: disc;
  201. }
  202. ol {
  203. list-style: decimal;
  204. }
  205. li > ol,
  206. li > ul {
  207. margin-top: 6px;
  208. }
  209. hr {
  210. width: 100%;
  211. height: 0;
  212. border: 0;
  213. border-bottom: 1px solid rgba($ui-base-lighter-color, .6);
  214. margin: 20px 0;
  215. }
  216. .container-alt {
  217. width: 100%;
  218. box-sizing: border-box;
  219. max-width: 800px;
  220. margin: 0 auto;
  221. word-wrap: break-word;
  222. }
  223. .header-wrapper {
  224. padding-top: 15px;
  225. background: $ui-base-color;
  226. background: linear-gradient(150deg, lighten($ui-base-color, 8%), $ui-base-color);
  227. position: relative;
  228. &.compact {
  229. background: $ui-base-color;
  230. padding-bottom: 15px;
  231. .hero .heading {
  232. padding-bottom: 20px;
  233. font-family: 'mastodon-font-sans-serif', sans-serif;
  234. font-size: 16px;
  235. font-weight: 400;
  236. font-size: 16px;
  237. line-height: 30px;
  238. color: $ui-primary-color;
  239. a {
  240. color: $ui-highlight-color;
  241. text-decoration: underline;
  242. }
  243. }
  244. }
  245. }
  246. .brand {
  247. a {
  248. padding-left: 0;
  249. padding-right: 0;
  250. color: $white;
  251. }
  252. img {
  253. height: 32px;
  254. position: relative;
  255. top: 4px;
  256. left: -10px;
  257. }
  258. }
  259. .header {
  260. line-height: 30px;
  261. overflow: hidden;
  262. .container-alt {
  263. display: flex;
  264. justify-content: space-between;
  265. }
  266. .links {
  267. position: relative;
  268. z-index: 4;
  269. a {
  270. display: flex;
  271. justify-content: center;
  272. align-items: center;
  273. color: $ui-primary-color;
  274. text-decoration: none;
  275. padding: 12px 16px;
  276. line-height: 32px;
  277. font-family: 'mastodon-font-display', sans-serif;
  278. font-weight: 500;
  279. font-size: 14px;
  280. &:hover {
  281. color: $ui-secondary-color;
  282. }
  283. }
  284. ul {
  285. list-style: none;
  286. margin: 0;
  287. li {
  288. display: inline-block;
  289. vertical-align: bottom;
  290. margin: 0;
  291. &:first-child a {
  292. padding-left: 0;
  293. }
  294. &:last-child a {
  295. padding-right: 0;
  296. }
  297. }
  298. }
  299. }
  300. .hero {
  301. margin-top: 50px;
  302. align-items: center;
  303. position: relative;
  304. .heading {
  305. position: relative;
  306. z-index: 4;
  307. padding-bottom: 150px;
  308. }
  309. .simple_form,
  310. .closed-registrations-message {
  311. background: darken($ui-base-color, 4%);
  312. width: 280px;
  313. padding: 15px 20px;
  314. border-radius: 4px 4px 0 0;
  315. line-height: initial;
  316. position: relative;
  317. z-index: 4;
  318. .actions {
  319. margin-bottom: 0;
  320. button,
  321. .button,
  322. .block-button {
  323. margin-bottom: 0;
  324. }
  325. }
  326. }
  327. .closed-registrations-message {
  328. min-height: 330px;
  329. display: flex;
  330. flex-direction: column;
  331. justify-content: space-between;
  332. }
  333. }
  334. }
  335. .about-short {
  336. background: darken($ui-base-color, 4%);
  337. padding: 50px 0 30px;
  338. font-family: 'mastodon-font-sans-serif', sans-serif;
  339. font-size: 16px;
  340. font-weight: 400;
  341. font-size: 16px;
  342. line-height: 30px;
  343. color: $ui-primary-color;
  344. a {
  345. color: $ui-highlight-color;
  346. text-decoration: underline;
  347. }
  348. }
  349. .information-board {
  350. background: darken($ui-base-color, 4%);
  351. padding: 20px 0;
  352. .container-alt {
  353. position: relative;
  354. padding-right: 280px + 15px;
  355. }
  356. &__sections {
  357. display: flex;
  358. justify-content: space-between;
  359. flex-wrap: wrap;
  360. }
  361. &__section {
  362. flex: 1 0 0;
  363. font-family: 'mastodon-font-sans-serif', sans-serif;
  364. font-size: 16px;
  365. line-height: 28px;
  366. color: $primary-text-color;
  367. text-align: right;
  368. padding: 10px 15px;
  369. span,
  370. strong {
  371. display: block;
  372. }
  373. span {
  374. &:last-child {
  375. color: $ui-secondary-color;
  376. }
  377. }
  378. strong {
  379. font-weight: 500;
  380. font-size: 32px;
  381. line-height: 48px;
  382. }
  383. @media screen and (max-width: $column-breakpoint) {
  384. text-align: center;
  385. }
  386. }
  387. .panel {
  388. position: absolute;
  389. width: 280px;
  390. box-sizing: border-box;
  391. background: darken($ui-base-color, 8%);
  392. padding: 20px;
  393. padding-top: 10px;
  394. border-radius: 4px 4px 0 0;
  395. right: 0;
  396. bottom: -40px;
  397. .panel-header {
  398. font-family: 'mastodon-font-display', sans-serif;
  399. font-size: 14px;
  400. line-height: 24px;
  401. font-weight: 500;
  402. color: $ui-primary-color;
  403. padding-bottom: 5px;
  404. margin-bottom: 15px;
  405. border-bottom: 1px solid lighten($ui-base-color, 4%);
  406. text-overflow: ellipsis;
  407. white-space: nowrap;
  408. overflow: hidden;
  409. a,
  410. span {
  411. font-weight: 400;
  412. color: darken($ui-primary-color, 10%);
  413. }
  414. a {
  415. text-decoration: none;
  416. }
  417. }
  418. }
  419. .owner {
  420. text-align: center;
  421. .avatar {
  422. width: 80px;
  423. height: 80px;
  424. margin: 0 auto;
  425. margin-bottom: 15px;
  426. img {
  427. display: block;
  428. width: 80px;
  429. height: 80px;
  430. border-radius: 48px;
  431. }
  432. }
  433. .name {
  434. font-size: 14px;
  435. a {
  436. display: block;
  437. color: $primary-text-color;
  438. text-decoration: none;
  439. &:hover {
  440. .display_name {
  441. text-decoration: underline;
  442. }
  443. }
  444. }
  445. .username {
  446. display: block;
  447. color: $ui-primary-color;
  448. }
  449. }
  450. }
  451. }
  452. &.alternative {
  453. padding: 10px 0;
  454. .brand {
  455. text-align: center;
  456. padding: 30px 0;
  457. margin-bottom: 10px;
  458. img {
  459. position: static;
  460. }
  461. @media screen and (max-width: $small-breakpoint) {
  462. padding: 15px 0;
  463. }
  464. @media screen and (max-width: $column-breakpoint) {
  465. padding: 0;
  466. margin-bottom: -10px;
  467. }
  468. }
  469. }
  470. &__information,
  471. &__forms {
  472. padding: 20px;
  473. }
  474. &__call-to-action {
  475. margin-bottom: 10px;
  476. background: darken($ui-base-color, 4%);
  477. border-radius: 4px;
  478. padding: 25px 40px;
  479. overflow: hidden;
  480. .row {
  481. align-items: center;
  482. }
  483. .information-board__section {
  484. padding: 0;
  485. }
  486. }
  487. &__logo {
  488. margin-right: 20px;
  489. img {
  490. height: 50px;
  491. width: auto;
  492. mix-blend-mode: lighten;
  493. }
  494. }
  495. &__information {
  496. padding: 45px 40px;
  497. margin-bottom: 10px;
  498. &:last-child {
  499. margin-bottom: 0;
  500. }
  501. @media screen and (max-width: $column-breakpoint) {
  502. padding: 25px 20px;
  503. }
  504. }
  505. &__information,
  506. &__forms,
  507. #mastodon-timeline {
  508. box-sizing: border-box;
  509. background: $ui-base-color;
  510. border-radius: 4px;
  511. box-shadow: 0 0 6px rgba($black, 0.1);
  512. }
  513. &__mascot {
  514. height: 104px;
  515. position: relative;
  516. left: -40px;
  517. bottom: 25px;
  518. img {
  519. height: 190px;
  520. width: auto;
  521. }
  522. }
  523. &__short-description {
  524. .row {
  525. align-items: center;
  526. margin-bottom: 40px;
  527. }
  528. @media screen and (max-width: $column-breakpoint) {
  529. .row {
  530. margin-bottom: 20px;
  531. }
  532. }
  533. p a {
  534. color: $ui-secondary-color;
  535. }
  536. h1 {
  537. font-weight: 500;
  538. color: $primary-text-color;
  539. margin-bottom: 0;
  540. small {
  541. color: $ui-primary-color;
  542. span {
  543. color: $ui-secondary-color;
  544. }
  545. }
  546. }
  547. p:last-child {
  548. margin-bottom: 0;
  549. }
  550. }
  551. &__hero {
  552. margin-bottom: 10px;
  553. img {
  554. display: block;
  555. margin: 0;
  556. max-width: 100%;
  557. height: auto;
  558. border-radius: 4px;
  559. }
  560. }
  561. &__forms {
  562. height: 100%;
  563. @media screen and (max-width: $small-breakpoint) {
  564. margin-bottom: 10px;
  565. height: auto;
  566. }
  567. @media screen and (max-width: $column-breakpoint) {
  568. background: transparent;
  569. box-shadow: none;
  570. padding: 0 20px;
  571. margin-top: 30px;
  572. margin-bottom: 40px;
  573. .separator-or {
  574. span {
  575. background: darken($ui-base-color, 8%);
  576. }
  577. }
  578. }
  579. hr {
  580. margin: 40px 0;
  581. }
  582. .button {
  583. display: block;
  584. }
  585. .subtle-hint a {
  586. text-decoration: none;
  587. &:hover,
  588. &:focus,
  589. &:active {
  590. text-decoration: underline;
  591. }
  592. }
  593. }
  594. #mastodon-timeline {
  595. display: flex;
  596. -webkit-overflow-scrolling: touch;
  597. -ms-overflow-style: -ms-autohiding-scrollbar;
  598. font-family: 'mastodon-font-sans-serif', sans-serif;
  599. font-size: 13px;
  600. line-height: 18px;
  601. font-weight: 400;
  602. color: $primary-text-color;
  603. width: 100%;
  604. flex: 1 1 auto;
  605. overflow: hidden;
  606. .column-header {
  607. color: inherit;
  608. font-family: inherit;
  609. font-size: 16px;
  610. line-height: inherit;
  611. font-weight: inherit;
  612. margin: 0;
  613. padding: 0;
  614. }
  615. .column {
  616. padding: 0;
  617. border-radius: 4px;
  618. overflow: hidden;
  619. width: 100%;
  620. }
  621. .scrollable {
  622. height: 400px;
  623. }
  624. p {
  625. font-size: inherit;
  626. line-height: inherit;
  627. font-weight: inherit;
  628. color: $primary-text-color;
  629. margin-bottom: 20px;
  630. &:last-child {
  631. margin-bottom: 0;
  632. }
  633. a {
  634. color: $ui-secondary-color;
  635. text-decoration: none;
  636. }
  637. }
  638. @media screen and (max-width: $column-breakpoint) {
  639. height: 90vh;
  640. }
  641. }
  642. &__features {
  643. .features-list {
  644. margin: 40px 0 !important;
  645. }
  646. &__action {
  647. text-align: center;
  648. }
  649. }
  650. .features-list {
  651. margin-top: 20px;
  652. .features-list__row {
  653. display: flex;
  654. padding: 10px 0;
  655. justify-content: space-between;
  656. &:first-child {
  657. padding-top: 0;
  658. }
  659. .visual {
  660. flex: 0 0 auto;
  661. display: flex;
  662. align-items: center;
  663. margin-left: 15px;
  664. .fa {
  665. display: block;
  666. color: $ui-primary-color;
  667. font-size: 48px;
  668. }
  669. }
  670. .text {
  671. font-size: 16px;
  672. line-height: 30px;
  673. color: $ui-primary-color;
  674. h6 {
  675. font-size: inherit;
  676. line-height: inherit;
  677. margin-bottom: 0;
  678. }
  679. }
  680. }
  681. }
  682. .extended-description {
  683. padding: 50px 0;
  684. font-family: 'mastodon-font-sans-serif', sans-serif;
  685. font-size: 16px;
  686. font-weight: 400;
  687. font-size: 16px;
  688. line-height: 30px;
  689. color: $ui-primary-color;
  690. a {
  691. color: $ui-highlight-color;
  692. text-decoration: underline;
  693. }
  694. }
  695. .footer-links {
  696. padding-bottom: 50px;
  697. text-align: right;
  698. color: $ui-base-lighter-color;
  699. p {
  700. font-size: 14px;
  701. }
  702. a {
  703. color: inherit;
  704. text-decoration: underline;
  705. }
  706. }
  707. &__footer {
  708. margin-top: 10px;
  709. text-align: center;
  710. color: $ui-base-lighter-color;
  711. p {
  712. font-size: 14px;
  713. a {
  714. color: inherit;
  715. text-decoration: underline;
  716. }
  717. }
  718. }
  719. @media screen and (max-width: 840px) {
  720. .container-alt {
  721. padding: 0 20px;
  722. }
  723. .information-board {
  724. .container-alt {
  725. padding-right: 20px;
  726. }
  727. .panel {
  728. position: static;
  729. margin-top: 20px;
  730. width: 100%;
  731. border-radius: 4px;
  732. .panel-header {
  733. text-align: center;
  734. }
  735. }
  736. }
  737. }
  738. @media screen and (max-width: 675px) {
  739. .header-wrapper {
  740. padding-top: 0;
  741. &.compact {
  742. padding-bottom: 0;
  743. }
  744. &.compact .hero .heading {
  745. text-align: initial;
  746. }
  747. }
  748. .header .container-alt,
  749. .features .container-alt {
  750. display: block;
  751. }
  752. .header {
  753. .links {
  754. padding-top: 15px;
  755. background: darken($ui-base-color, 4%);
  756. a {
  757. padding: 12px 8px;
  758. }
  759. .nav {
  760. display: flex;
  761. flex-flow: row wrap;
  762. justify-content: space-around;
  763. }
  764. .brand img {
  765. left: 0;
  766. top: 0;
  767. }
  768. }
  769. .hero {
  770. margin-top: 30px;
  771. padding: 0;
  772. .heading {
  773. padding: 30px 20px;
  774. text-align: center;
  775. }
  776. .simple_form,
  777. .closed-registrations-message {
  778. background: darken($ui-base-color, 8%);
  779. width: 100%;
  780. border-radius: 0;
  781. box-sizing: border-box;
  782. }
  783. }
  784. }
  785. }
  786. .cta {
  787. margin: 20px;
  788. }
  789. &.tag-page {
  790. .features {
  791. padding: 30px 0;
  792. .container-alt {
  793. max-width: 820px;
  794. #mastodon-timeline {
  795. margin-right: 0;
  796. border-top-right-radius: 0;
  797. }
  798. .about-mastodon {
  799. .about-hashtag {
  800. background: darken($ui-base-color, 4%);
  801. padding: 0 20px 20px 30px;
  802. border-radius: 0 5px 5px 0;
  803. .brand {
  804. padding-top: 20px;
  805. margin-bottom: 20px;
  806. img {
  807. height: 48px;
  808. width: auto;
  809. }
  810. }
  811. p {
  812. strong {
  813. color: $ui-secondary-color;
  814. font-weight: 700;
  815. }
  816. }
  817. .cta {
  818. margin: 0;
  819. .button {
  820. margin-right: 4px;
  821. }
  822. }
  823. }
  824. .features-list {
  825. margin-left: 30px;
  826. margin-right: 10px;
  827. }
  828. }
  829. }
  830. }
  831. @media screen and (max-width: 675px) {
  832. .features {
  833. padding: 10px 0;
  834. .container-alt {
  835. display: flex;
  836. flex-direction: column;
  837. #mastodon-timeline {
  838. order: 2;
  839. flex: 0 0 auto;
  840. height: 60vh;
  841. margin-bottom: 20px;
  842. border-top-right-radius: 4px;
  843. }
  844. .about-mastodon {
  845. order: 1;
  846. flex: 0 0 auto;
  847. max-width: 100%;
  848. .about-hashtag {
  849. background: unset;
  850. padding: 0;
  851. border-radius: 0;
  852. .cta {
  853. margin: 20px 0;
  854. }
  855. }
  856. .features-list {
  857. display: none;
  858. }
  859. }
  860. }
  861. }
  862. }
  863. }
  864. }