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.

892 lines
15 KiB

4 years ago
  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. .rich-formatting {
  16. font-family: $font-sans-serif, sans-serif;
  17. font-size: 14px;
  18. font-weight: 400;
  19. line-height: 1.7;
  20. word-wrap: break-word;
  21. color: $darker-text-color;
  22. a {
  23. color: $highlight-text-color;
  24. text-decoration: underline;
  25. &:hover,
  26. &:focus,
  27. &:active {
  28. text-decoration: none;
  29. }
  30. }
  31. p,
  32. li {
  33. color: $darker-text-color;
  34. }
  35. p {
  36. margin-top: 0;
  37. margin-bottom: .85em;
  38. &:last-child {
  39. margin-bottom: 0;
  40. }
  41. }
  42. strong {
  43. font-weight: 700;
  44. color: $secondary-text-color;
  45. }
  46. em {
  47. font-style: italic;
  48. color: $secondary-text-color;
  49. }
  50. code {
  51. font-size: 0.85em;
  52. background: darken($ui-base-color, 8%);
  53. border-radius: 4px;
  54. padding: 0.2em 0.3em;
  55. }
  56. h1,
  57. h2,
  58. h3,
  59. h4,
  60. h5,
  61. h6 {
  62. font-family: $font-display, sans-serif;
  63. margin-top: 1.275em;
  64. margin-bottom: .85em;
  65. font-weight: 500;
  66. color: $secondary-text-color;
  67. }
  68. h1 {
  69. font-size: 2em;
  70. }
  71. h2 {
  72. font-size: 1.75em;
  73. }
  74. h3 {
  75. font-size: 1.5em;
  76. }
  77. h4 {
  78. font-size: 1.25em;
  79. }
  80. h5,
  81. h6 {
  82. font-size: 1em;
  83. }
  84. ul {
  85. list-style: disc;
  86. }
  87. ol {
  88. list-style: decimal;
  89. }
  90. ul,
  91. ol {
  92. margin: 0;
  93. padding: 0;
  94. padding-left: 2em;
  95. margin-bottom: 0.85em;
  96. &[type='a'] {
  97. list-style-type: lower-alpha;
  98. }
  99. &[type='i'] {
  100. list-style-type: lower-roman;
  101. }
  102. }
  103. hr {
  104. width: 100%;
  105. height: 0;
  106. border: 0;
  107. border-bottom: 1px solid lighten($ui-base-color, 4%);
  108. margin: 1.7em 0;
  109. &.spacer {
  110. height: 1px;
  111. border: 0;
  112. }
  113. }
  114. table {
  115. width: 100%;
  116. border-collapse: collapse;
  117. break-inside: auto;
  118. margin-top: 24px;
  119. margin-bottom: 32px;
  120. thead tr,
  121. tbody tr {
  122. border-bottom: 1px solid lighten($ui-base-color, 4%);
  123. font-size: 1em;
  124. line-height: 1.625;
  125. font-weight: 400;
  126. text-align: left;
  127. color: $darker-text-color;
  128. }
  129. thead tr {
  130. border-bottom-width: 2px;
  131. line-height: 1.5;
  132. font-weight: 500;
  133. color: $dark-text-color;
  134. }
  135. th,
  136. td {
  137. padding: 8px;
  138. align-self: start;
  139. align-items: start;
  140. word-break: break-all;
  141. &.nowrap {
  142. width: 25%;
  143. position: relative;
  144. &::before {
  145. content: ' ';
  146. visibility: hidden;
  147. }
  148. span {
  149. position: absolute;
  150. left: 8px;
  151. right: 8px;
  152. white-space: nowrap;
  153. overflow: hidden;
  154. text-overflow: ellipsis;
  155. }
  156. }
  157. }
  158. }
  159. & > :first-child {
  160. margin-top: 0;
  161. }
  162. }
  163. .information-board {
  164. background: darken($ui-base-color, 4%);
  165. padding: 20px 0;
  166. .container-alt {
  167. position: relative;
  168. padding-right: 280px + 15px;
  169. }
  170. &__sections {
  171. display: flex;
  172. justify-content: space-between;
  173. flex-wrap: wrap;
  174. }
  175. &__section {
  176. flex: 1 0 0;
  177. font-family: $font-sans-serif, sans-serif;
  178. font-size: 16px;
  179. line-height: 28px;
  180. color: $primary-text-color;
  181. text-align: right;
  182. padding: 10px 15px;
  183. span,
  184. strong {
  185. display: block;
  186. }
  187. span {
  188. &:last-child {
  189. color: $secondary-text-color;
  190. }
  191. }
  192. strong {
  193. font-family: $font-display, sans-serif;
  194. font-weight: 500;
  195. font-size: 32px;
  196. line-height: 48px;
  197. }
  198. @media screen and (max-width: $column-breakpoint) {
  199. text-align: center;
  200. }
  201. }
  202. .panel {
  203. position: absolute;
  204. width: 280px;
  205. box-sizing: border-box;
  206. background: darken($ui-base-color, 8%);
  207. padding: 20px;
  208. padding-top: 10px;
  209. border-radius: 4px 4px 0 0;
  210. right: 0;
  211. bottom: -40px;
  212. .panel-header {
  213. font-family: $font-display, sans-serif;
  214. font-size: 14px;
  215. line-height: 24px;
  216. font-weight: 500;
  217. color: $darker-text-color;
  218. padding-bottom: 5px;
  219. margin-bottom: 15px;
  220. border-bottom: 1px solid lighten($ui-base-color, 4%);
  221. text-overflow: ellipsis;
  222. white-space: nowrap;
  223. overflow: hidden;
  224. a,
  225. span {
  226. font-weight: 400;
  227. color: darken($darker-text-color, 10%);
  228. }
  229. a {
  230. text-decoration: none;
  231. }
  232. }
  233. }
  234. .owner {
  235. text-align: center;
  236. .avatar {
  237. width: 80px;
  238. height: 80px;
  239. margin: 0 auto;
  240. margin-bottom: 15px;
  241. img {
  242. display: block;
  243. width: 80px;
  244. height: 80px;
  245. border-radius: 48px;
  246. }
  247. }
  248. .name {
  249. font-size: 14px;
  250. a {
  251. display: block;
  252. color: $primary-text-color;
  253. text-decoration: none;
  254. &:hover {
  255. .display_name {
  256. text-decoration: underline;
  257. }
  258. }
  259. }
  260. .username {
  261. display: block;
  262. color: $darker-text-color;
  263. }
  264. }
  265. }
  266. }
  267. .landing-page {
  268. p,
  269. li {
  270. font-family: $font-sans-serif, sans-serif;
  271. font-size: 16px;
  272. font-weight: 400;
  273. font-size: 16px;
  274. line-height: 30px;
  275. margin-bottom: 12px;
  276. color: $darker-text-color;
  277. a {
  278. color: $highlight-text-color;
  279. text-decoration: underline;
  280. }
  281. }
  282. em {
  283. display: inline;
  284. margin: 0;
  285. padding: 0;
  286. font-weight: 700;
  287. background: transparent;
  288. font-family: inherit;
  289. font-size: inherit;
  290. line-height: inherit;
  291. color: lighten($darker-text-color, 10%);
  292. }
  293. h1 {
  294. font-family: $font-display, sans-serif;
  295. font-size: 26px;
  296. line-height: 30px;
  297. font-weight: 500;
  298. margin-bottom: 20px;
  299. color: $secondary-text-color;
  300. small {
  301. font-family: $font-sans-serif, sans-serif;
  302. display: block;
  303. font-size: 18px;
  304. font-weight: 400;
  305. color: lighten($darker-text-color, 10%);
  306. }
  307. }
  308. h2 {
  309. font-family: $font-display, sans-serif;
  310. font-size: 22px;
  311. line-height: 26px;
  312. font-weight: 500;
  313. margin-bottom: 20px;
  314. color: $secondary-text-color;
  315. }
  316. h3 {
  317. font-family: $font-display, sans-serif;
  318. font-size: 18px;
  319. line-height: 24px;
  320. font-weight: 500;
  321. margin-bottom: 20px;
  322. color: $secondary-text-color;
  323. }
  324. h4 {
  325. font-family: $font-display, sans-serif;
  326. font-size: 16px;
  327. line-height: 24px;
  328. font-weight: 500;
  329. margin-bottom: 20px;
  330. color: $secondary-text-color;
  331. }
  332. h5 {
  333. font-family: $font-display, sans-serif;
  334. font-size: 14px;
  335. line-height: 24px;
  336. font-weight: 500;
  337. margin-bottom: 20px;
  338. color: $secondary-text-color;
  339. }
  340. h6 {
  341. font-family: $font-display, sans-serif;
  342. font-size: 12px;
  343. line-height: 24px;
  344. font-weight: 500;
  345. margin-bottom: 20px;
  346. color: $secondary-text-color;
  347. }
  348. ul,
  349. ol {
  350. margin-left: 20px;
  351. &[type='a'] {
  352. list-style-type: lower-alpha;
  353. }
  354. &[type='i'] {
  355. list-style-type: lower-roman;
  356. }
  357. }
  358. ul {
  359. list-style: disc;
  360. }
  361. ol {
  362. list-style: decimal;
  363. }
  364. li > ol,
  365. li > ul {
  366. margin-top: 6px;
  367. }
  368. hr {
  369. width: 100%;
  370. height: 0;
  371. border: 0;
  372. border-bottom: 1px solid rgba($ui-base-lighter-color, .6);
  373. margin: 20px 0;
  374. &.spacer {
  375. height: 1px;
  376. border: 0;
  377. }
  378. }
  379. &__information,
  380. &__forms {
  381. padding: 20px;
  382. }
  383. &__call-to-action {
  384. background: $ui-base-color;
  385. border-radius: 4px;
  386. padding: 25px 40px;
  387. overflow: hidden;
  388. box-sizing: border-box;
  389. .row {
  390. width: 100%;
  391. display: flex;
  392. flex-direction: row-reverse;
  393. flex-wrap: nowrap;
  394. justify-content: space-between;
  395. align-items: center;
  396. }
  397. .row__information-board {
  398. display: flex;
  399. justify-content: flex-end;
  400. align-items: flex-end;
  401. .information-board__section {
  402. flex: 1 0 auto;
  403. padding: 0 10px;
  404. }
  405. @media screen and (max-width: $no-gap-breakpoint) {
  406. width: 100%;
  407. justify-content: space-between;
  408. }
  409. }
  410. .row__mascot {
  411. flex: 1;
  412. margin: 10px -50px 0 0;
  413. @media screen and (max-width: $no-gap-breakpoint) {
  414. display: none;
  415. }
  416. }
  417. }
  418. &__logo {
  419. margin-right: 20px;
  420. img {
  421. height: 50px;
  422. width: auto;
  423. mix-blend-mode: lighten;
  424. }
  425. }
  426. &__information {
  427. padding: 45px 40px;
  428. margin-bottom: 10px;
  429. &:last-child {
  430. margin-bottom: 0;
  431. }
  432. strong {
  433. font-weight: 500;
  434. color: lighten($darker-text-color, 10%);
  435. }
  436. .account {
  437. border-bottom: 0;
  438. padding: 0;
  439. &__display-name {
  440. align-items: center;
  441. display: flex;
  442. margin-right: 5px;
  443. }
  444. div.account__display-name {
  445. &:hover {
  446. .display-name strong {
  447. text-decoration: none;
  448. }
  449. }
  450. .account__avatar {
  451. cursor: default;
  452. }
  453. }
  454. &__avatar-wrapper {
  455. margin-left: 0;
  456. flex: 0 0 auto;
  457. }
  458. &__avatar {
  459. width: 44px;
  460. height: 44px;
  461. background-size: 44px 44px;
  462. }
  463. .display-name {
  464. font-size: 15px;
  465. &__account {
  466. font-size: 14px;
  467. }
  468. }
  469. }
  470. @media screen and (max-width: $small-breakpoint) {
  471. .contact {
  472. margin-top: 30px;
  473. }
  474. }
  475. @media screen and (max-width: $column-breakpoint) {
  476. padding: 25px 20px;
  477. }
  478. }
  479. &__information,
  480. &__forms,
  481. #mastodon-timeline {
  482. box-sizing: border-box;
  483. background: $ui-base-color;
  484. border-radius: 4px;
  485. box-shadow: 0 0 6px rgba($black, 0.1);
  486. }
  487. &__mascot {
  488. height: 104px;
  489. position: relative;
  490. left: -40px;
  491. bottom: 25px;
  492. img {
  493. height: 190px;
  494. width: auto;
  495. }
  496. }
  497. &__short-description {
  498. .row {
  499. display: flex;
  500. flex-wrap: wrap;
  501. align-items: center;
  502. margin-bottom: 40px;
  503. }
  504. @media screen and (max-width: $column-breakpoint) {
  505. .row {
  506. margin-bottom: 20px;
  507. }
  508. }
  509. p a {
  510. color: $secondary-text-color;
  511. }
  512. h1 {
  513. font-weight: 500;
  514. color: $primary-text-color;
  515. margin-bottom: 0;
  516. small {
  517. color: $darker-text-color;
  518. span {
  519. color: $secondary-text-color;
  520. }
  521. }
  522. }
  523. p:last-child {
  524. margin-bottom: 0;
  525. }
  526. }
  527. &__hero {
  528. margin-bottom: 10px;
  529. img {
  530. display: block;
  531. margin: 0;
  532. max-width: 100%;
  533. height: auto;
  534. border-radius: 4px;
  535. }
  536. }
  537. @media screen and (max-width: 840px) {
  538. .information-board {
  539. .container-alt {
  540. padding-right: 20px;
  541. }
  542. .panel {
  543. position: static;
  544. margin-top: 20px;
  545. width: 100%;
  546. border-radius: 4px;
  547. .panel-header {
  548. text-align: center;
  549. }
  550. }
  551. }
  552. }
  553. @media screen and (max-width: 675px) {
  554. .header-wrapper {
  555. padding-top: 0;
  556. &.compact {
  557. padding-bottom: 0;
  558. }
  559. &.compact .hero .heading {
  560. text-align: initial;
  561. }
  562. }
  563. .header .container-alt,
  564. .features .container-alt {
  565. display: block;
  566. }
  567. }
  568. .cta {
  569. margin: 20px;
  570. }
  571. }
  572. .landing {
  573. margin-bottom: 100px;
  574. @media screen and (max-width: 738px) {
  575. margin-bottom: 0;
  576. }
  577. &__brand {
  578. display: flex;
  579. justify-content: center;
  580. align-items: center;
  581. padding: 50px;
  582. svg {
  583. fill: $primary-text-color;
  584. height: 100px;
  585. }
  586. @media screen and (max-width: $no-gap-breakpoint) {
  587. padding: 0;
  588. margin-bottom: 30px;
  589. }
  590. }
  591. .directory {
  592. margin-top: 30px;
  593. background: transparent;
  594. box-shadow: none;
  595. border-radius: 0;
  596. }
  597. .hero-widget {
  598. margin-top: 30px;
  599. margin-bottom: 0;
  600. h4 {
  601. padding: 10px;
  602. text-transform: uppercase;
  603. font-weight: 700;
  604. font-size: 13px;
  605. color: $darker-text-color;
  606. }
  607. &__text {
  608. border-radius: 0;
  609. padding-bottom: 0;
  610. }
  611. &__footer {
  612. background: $ui-base-color;
  613. padding: 10px;
  614. border-radius: 0 0 4px 4px;
  615. display: flex;
  616. &__column {
  617. flex: 1 1 50%;
  618. }
  619. }
  620. .account {
  621. padding: 10px 0;
  622. border-bottom: 0;
  623. .account__display-name {
  624. display: flex;
  625. align-items: center;
  626. }
  627. .account__avatar {
  628. width: 44px;
  629. height: 44px;
  630. background-size: 44px 44px;
  631. }
  632. }
  633. &__counter {
  634. padding: 10px;
  635. strong {
  636. font-family: $font-display, sans-serif;
  637. font-size: 15px;
  638. font-weight: 700;
  639. display: block;
  640. }
  641. span {
  642. font-size: 14px;
  643. color: $darker-text-color;
  644. }
  645. }
  646. }
  647. .simple_form .user_agreement .label_input > label {
  648. font-weight: 400;
  649. color: $darker-text-color;
  650. }
  651. .simple_form p.lead {
  652. color: $darker-text-color;
  653. font-size: 15px;
  654. line-height: 20px;
  655. font-weight: 400;
  656. margin-bottom: 25px;
  657. }
  658. &__grid {
  659. max-width: 960px;
  660. margin: 0 auto;
  661. display: grid;
  662. grid-template-columns: minmax(0, 50%) minmax(0, 50%);
  663. grid-gap: 30px;
  664. @media screen and (max-width: 738px) {
  665. grid-template-columns: minmax(0, 100%);
  666. grid-gap: 10px;
  667. &__column-login {
  668. grid-row: 1;
  669. display: flex;
  670. flex-direction: column;
  671. .box-widget {
  672. order: 2;
  673. flex: 0 0 auto;
  674. }
  675. .hero-widget {
  676. margin-top: 0;
  677. margin-bottom: 10px;
  678. order: 1;
  679. flex: 0 0 auto;
  680. }
  681. }
  682. &__column-registration {
  683. grid-row: 2;
  684. }
  685. .directory {
  686. margin-top: 10px;
  687. }
  688. }
  689. @media screen and (max-width: $no-gap-breakpoint) {
  690. grid-gap: 0;
  691. .hero-widget {
  692. display: block;
  693. margin-bottom: 0;
  694. box-shadow: none;
  695. &__img,
  696. &__img img,
  697. &__footer {
  698. border-radius: 0;
  699. }
  700. }
  701. .hero-widget,
  702. .box-widget,
  703. .directory__tag {
  704. border-bottom: 1px solid lighten($ui-base-color, 8%);
  705. }
  706. .directory {
  707. margin-top: 0;
  708. &__tag {
  709. margin-bottom: 0;
  710. & > a,
  711. & > div {
  712. border-radius: 0;
  713. box-shadow: none;
  714. }
  715. &:last-child {
  716. border-bottom: 0;
  717. }
  718. }
  719. }
  720. }
  721. }
  722. }
  723. .brand {
  724. position: relative;
  725. text-decoration: none;
  726. }
  727. .brand__tagline {
  728. display: block;
  729. position: absolute;
  730. bottom: -10px;
  731. left: 50px;
  732. width: 300px;
  733. color: $ui-primary-color;
  734. text-decoration: none;
  735. font-size: 14px;
  736. @media screen and (max-width: $no-gap-breakpoint) {
  737. position: static;
  738. width: auto;
  739. margin-top: 20px;
  740. color: $dark-text-color;
  741. }
  742. }