The code powering m.abunchtell.com https://m.abunchtell.com
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.
 
 
 
 

815 lines
15 KiB

  1. .container-alt {
  2. width: 700px;
  3. margin: 0 auto;
  4. margin-top: 40px;
  5. @media screen and (max-width: 740px) {
  6. width: 100%;
  7. margin: 0;
  8. }
  9. }
  10. .logo-container {
  11. margin: 100px auto;
  12. margin-bottom: 50px;
  13. @media screen and (max-width: 400px) {
  14. margin: 30px auto;
  15. margin-bottom: 20px;
  16. }
  17. h1 {
  18. display: flex;
  19. justify-content: center;
  20. align-items: center;
  21. img {
  22. height: 42px;
  23. margin-right: 10px;
  24. }
  25. a {
  26. display: flex;
  27. justify-content: center;
  28. align-items: center;
  29. color: $primary-text-color;
  30. text-decoration: none;
  31. outline: 0;
  32. padding: 12px 16px;
  33. line-height: 32px;
  34. font-family: $font-display, sans-serif;
  35. font-weight: 500;
  36. font-size: 14px;
  37. }
  38. }
  39. }
  40. .compose-standalone {
  41. .compose-form {
  42. width: 400px;
  43. margin: 0 auto;
  44. padding: 20px 0;
  45. margin-top: 40px;
  46. box-sizing: border-box;
  47. @media screen and (max-width: 400px) {
  48. width: 100%;
  49. margin-top: 0;
  50. padding: 20px;
  51. }
  52. }
  53. }
  54. .account-header {
  55. width: 400px;
  56. margin: 0 auto;
  57. display: flex;
  58. font-size: 13px;
  59. line-height: 18px;
  60. box-sizing: border-box;
  61. padding: 20px 0;
  62. padding-bottom: 0;
  63. margin-bottom: -30px;
  64. margin-top: 40px;
  65. @media screen and (max-width: 440px) {
  66. width: 100%;
  67. margin: 0;
  68. margin-bottom: 10px;
  69. padding: 20px;
  70. padding-bottom: 0;
  71. }
  72. .avatar {
  73. width: 40px;
  74. height: 40px;
  75. margin-right: 8px;
  76. img {
  77. width: 100%;
  78. height: 100%;
  79. display: block;
  80. margin: 0;
  81. border-radius: 4px;
  82. }
  83. }
  84. .name {
  85. flex: 1 1 auto;
  86. color: $secondary-text-color;
  87. width: calc(100% - 88px);
  88. .username {
  89. display: block;
  90. font-weight: 500;
  91. text-overflow: ellipsis;
  92. overflow: hidden;
  93. }
  94. }
  95. .logout-link {
  96. display: block;
  97. font-size: 32px;
  98. line-height: 40px;
  99. margin-left: 8px;
  100. }
  101. }
  102. .grid-3 {
  103. display: grid;
  104. grid-gap: 10px;
  105. grid-template-columns: 3fr 1fr;
  106. grid-auto-columns: 25%;
  107. grid-auto-rows: max-content;
  108. .column-0 {
  109. grid-column: 1/3;
  110. grid-row: 1;
  111. }
  112. .column-1 {
  113. grid-column: 1;
  114. grid-row: 2;
  115. }
  116. .column-2 {
  117. grid-column: 2;
  118. grid-row: 2;
  119. }
  120. .column-3 {
  121. grid-column: 1/3;
  122. grid-row: 3;
  123. }
  124. .landing-page__call-to-action {
  125. min-height: 100%;
  126. }
  127. @media screen and (max-width: 738px) {
  128. grid-template-columns: minmax(0, 50%) minmax(0, 50%);
  129. .landing-page__call-to-action {
  130. padding: 20px;
  131. display: flex;
  132. align-items: center;
  133. justify-content: center;
  134. }
  135. .row__information-board {
  136. width: 100%;
  137. justify-content: center;
  138. align-items: center;
  139. }
  140. .row__mascot {
  141. display: none;
  142. }
  143. }
  144. @media screen and (max-width: $no-gap-breakpoint) {
  145. grid-gap: 0;
  146. grid-template-columns: minmax(0, 100%);
  147. .column-0 {
  148. grid-column: 1;
  149. }
  150. .column-1 {
  151. grid-column: 1;
  152. grid-row: 3;
  153. }
  154. .column-2 {
  155. grid-column: 1;
  156. grid-row: 2;
  157. }
  158. .column-3 {
  159. grid-column: 1;
  160. grid-row: 4;
  161. }
  162. }
  163. }
  164. .public-layout {
  165. @media screen and (max-width: $no-gap-breakpoint) {
  166. padding-top: 48px;
  167. }
  168. .container {
  169. max-width: 960px;
  170. @media screen and (max-width: $no-gap-breakpoint) {
  171. padding: 0;
  172. }
  173. }
  174. .header {
  175. background: lighten($ui-base-color, 8%);
  176. box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
  177. border-radius: 4px;
  178. height: 48px;
  179. margin: 10px 0;
  180. display: flex;
  181. align-items: stretch;
  182. justify-content: center;
  183. flex-wrap: nowrap;
  184. overflow: hidden;
  185. @media screen and (max-width: $no-gap-breakpoint) {
  186. position: fixed;
  187. width: 100%;
  188. top: 0;
  189. left: 0;
  190. margin: 0;
  191. border-radius: 0;
  192. box-shadow: none;
  193. z-index: 110;
  194. }
  195. & > div {
  196. flex: 1 1 33.3%;
  197. min-height: 1px;
  198. }
  199. .nav-left {
  200. display: flex;
  201. align-items: stretch;
  202. justify-content: flex-start;
  203. flex-wrap: nowrap;
  204. }
  205. .nav-center {
  206. display: flex;
  207. align-items: stretch;
  208. justify-content: center;
  209. flex-wrap: nowrap;
  210. }
  211. .nav-right {
  212. display: flex;
  213. align-items: stretch;
  214. justify-content: flex-end;
  215. flex-wrap: nowrap;
  216. }
  217. .brand {
  218. display: block;
  219. padding: 15px;
  220. img {
  221. display: block;
  222. height: 18px;
  223. width: auto;
  224. position: relative;
  225. bottom: -2px;
  226. @media screen and (max-width: $no-gap-breakpoint) {
  227. height: 20px;
  228. }
  229. }
  230. &:hover,
  231. &:focus,
  232. &:active {
  233. background: lighten($ui-base-color, 12%);
  234. }
  235. }
  236. .nav-link {
  237. display: flex;
  238. align-items: center;
  239. padding: 0 1rem;
  240. font-size: 12px;
  241. font-weight: 500;
  242. text-decoration: none;
  243. color: $darker-text-color;
  244. white-space: nowrap;
  245. text-align: center;
  246. &:hover,
  247. &:focus,
  248. &:active {
  249. text-decoration: underline;
  250. color: $primary-text-color;
  251. }
  252. @media screen and (max-width: 550px) {
  253. &.optional {
  254. display: none;
  255. }
  256. }
  257. }
  258. .nav-button {
  259. background: lighten($ui-base-color, 16%);
  260. margin: 8px;
  261. margin-left: 0;
  262. border-radius: 4px;
  263. &:hover,
  264. &:focus,
  265. &:active {
  266. text-decoration: none;
  267. background: lighten($ui-base-color, 20%);
  268. }
  269. }
  270. }
  271. $no-columns-breakpoint: 600px;
  272. .grid {
  273. display: grid;
  274. grid-gap: 10px;
  275. grid-template-columns: minmax(300px, 3fr) minmax(298px, 1fr);
  276. grid-auto-columns: 25%;
  277. grid-auto-rows: max-content;
  278. .column-0 {
  279. grid-row: 1;
  280. grid-column: 1;
  281. }
  282. .column-1 {
  283. grid-row: 1;
  284. grid-column: 2;
  285. }
  286. @media screen and (max-width: $no-columns-breakpoint) {
  287. grid-template-columns: 100%;
  288. grid-gap: 0;
  289. .column-1 {
  290. display: none;
  291. }
  292. }
  293. }
  294. .public-account-header {
  295. overflow: hidden;
  296. margin-bottom: 10px;
  297. box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
  298. &.inactive {
  299. opacity: 0.5;
  300. .public-account-header__image,
  301. .avatar {
  302. filter: grayscale(100%);
  303. }
  304. .logo-button {
  305. background-color: $secondary-text-color;
  306. svg path:last-child {
  307. fill: $secondary-text-color;
  308. }
  309. }
  310. }
  311. &__image {
  312. border-radius: 4px 4px 0 0;
  313. overflow: hidden;
  314. height: 300px;
  315. position: relative;
  316. background: darken($ui-base-color, 12%);
  317. &::after {
  318. content: "";
  319. display: block;
  320. position: absolute;
  321. width: 100%;
  322. height: 100%;
  323. box-shadow: inset 0 -1px 1px 1px rgba($base-shadow-color, 0.15);
  324. top: 0;
  325. left: 0;
  326. }
  327. img {
  328. object-fit: cover;
  329. display: block;
  330. width: 100%;
  331. height: 100%;
  332. margin: 0;
  333. border-radius: 4px 4px 0 0;
  334. }
  335. @media screen and (max-width: 600px) {
  336. height: 200px;
  337. }
  338. }
  339. &--no-bar {
  340. margin-bottom: 0;
  341. .public-account-header__image,
  342. .public-account-header__image img {
  343. border-radius: 4px;
  344. @media screen and (max-width: $no-gap-breakpoint) {
  345. border-radius: 0;
  346. }
  347. }
  348. }
  349. @media screen and (max-width: $no-gap-breakpoint) {
  350. margin-bottom: 0;
  351. box-shadow: none;
  352. &__image::after {
  353. display: none;
  354. }
  355. &__image,
  356. &__image img {
  357. border-radius: 0;
  358. }
  359. }
  360. &__bar {
  361. position: relative;
  362. margin-top: -80px;
  363. display: flex;
  364. justify-content: flex-start;
  365. &::before {
  366. content: "";
  367. display: block;
  368. background: lighten($ui-base-color, 4%);
  369. position: absolute;
  370. bottom: 0;
  371. left: 0;
  372. right: 0;
  373. height: 60px;
  374. border-radius: 0 0 4px 4px;
  375. z-index: -1;
  376. }
  377. .avatar {
  378. display: block;
  379. width: 120px;
  380. height: 120px;
  381. padding-left: 20px - 4px;
  382. flex: 0 0 auto;
  383. img {
  384. display: block;
  385. width: 100%;
  386. height: 100%;
  387. margin: 0;
  388. border-radius: 50%;
  389. border: 4px solid lighten($ui-base-color, 4%);
  390. background: darken($ui-base-color, 8%);
  391. }
  392. }
  393. @media screen and (max-width: 600px) {
  394. margin-top: 0;
  395. background: lighten($ui-base-color, 4%);
  396. border-radius: 0 0 4px 4px;
  397. padding: 5px;
  398. &::before {
  399. display: none;
  400. }
  401. .avatar {
  402. width: 48px;
  403. height: 48px;
  404. padding: 7px 0;
  405. padding-left: 10px;
  406. img {
  407. border: 0;
  408. border-radius: 4px;
  409. }
  410. @media screen and (max-width: 360px) {
  411. display: none;
  412. }
  413. }
  414. }
  415. @media screen and (max-width: $no-gap-breakpoint) {
  416. border-radius: 0;
  417. }
  418. @media screen and (max-width: $no-columns-breakpoint) {
  419. flex-wrap: wrap;
  420. }
  421. }
  422. &__tabs {
  423. flex: 1 1 auto;
  424. margin-left: 20px;
  425. &__name {
  426. padding-top: 20px;
  427. padding-bottom: 8px;
  428. h1 {
  429. font-size: 20px;
  430. line-height: 18px * 1.5;
  431. color: $primary-text-color;
  432. font-weight: 500;
  433. overflow: hidden;
  434. white-space: nowrap;
  435. text-overflow: ellipsis;
  436. text-shadow: 1px 1px 1px $base-shadow-color;
  437. small {
  438. display: block;
  439. font-size: 14px;
  440. color: $primary-text-color;
  441. font-weight: 400;
  442. overflow: hidden;
  443. text-overflow: ellipsis;
  444. }
  445. }
  446. }
  447. @media screen and (max-width: 600px) {
  448. margin-left: 15px;
  449. display: flex;
  450. justify-content: space-between;
  451. align-items: center;
  452. &__name {
  453. padding-top: 0;
  454. padding-bottom: 0;
  455. h1 {
  456. font-size: 16px;
  457. line-height: 24px;
  458. text-shadow: none;
  459. small {
  460. color: $darker-text-color;
  461. }
  462. }
  463. }
  464. }
  465. &__tabs {
  466. display: flex;
  467. justify-content: flex-start;
  468. align-items: stretch;
  469. height: 58px;
  470. .details-counters {
  471. display: flex;
  472. flex-direction: row;
  473. min-width: 300px;
  474. }
  475. @media screen and (max-width: $no-columns-breakpoint) {
  476. .details-counters {
  477. display: none;
  478. }
  479. }
  480. .counter {
  481. width: 33.3%;
  482. box-sizing: border-box;
  483. flex: 0 0 auto;
  484. color: $darker-text-color;
  485. padding: 10px;
  486. border-right: 1px solid lighten($ui-base-color, 4%);
  487. cursor: default;
  488. text-align: center;
  489. position: relative;
  490. a {
  491. display: block;
  492. }
  493. &:last-child {
  494. border-right: 0;
  495. }
  496. &::after {
  497. display: block;
  498. content: "";
  499. position: absolute;
  500. bottom: 0;
  501. left: 0;
  502. width: 100%;
  503. border-bottom: 4px solid $ui-primary-color;
  504. opacity: 0.5;
  505. transition: all 400ms ease;
  506. }
  507. &.active {
  508. &::after {
  509. border-bottom: 4px solid $highlight-text-color;
  510. opacity: 1;
  511. }
  512. &.inactive::after {
  513. border-bottom-color: $secondary-text-color;
  514. }
  515. }
  516. &:hover {
  517. &::after {
  518. opacity: 1;
  519. transition-duration: 100ms;
  520. }
  521. }
  522. a {
  523. text-decoration: none;
  524. color: inherit;
  525. }
  526. .counter-label {
  527. font-size: 12px;
  528. display: block;
  529. }
  530. .counter-number {
  531. font-weight: 500;
  532. font-size: 18px;
  533. margin-bottom: 5px;
  534. color: $primary-text-color;
  535. font-family: $font-display, sans-serif;
  536. }
  537. }
  538. .spacer {
  539. flex: 1 1 auto;
  540. height: 1px;
  541. }
  542. &__buttons {
  543. padding: 7px 8px;
  544. }
  545. }
  546. }
  547. &__extra {
  548. display: none;
  549. margin-top: 4px;
  550. .public-account-bio {
  551. border-radius: 0;
  552. box-shadow: none;
  553. background: transparent;
  554. margin: 0 -5px;
  555. .account__header__fields {
  556. border-top: 1px solid lighten($ui-base-color, 12%);
  557. }
  558. .roles {
  559. display: none;
  560. }
  561. }
  562. &__links {
  563. margin-top: -15px;
  564. font-size: 14px;
  565. color: $darker-text-color;
  566. a {
  567. display: inline-block;
  568. color: $darker-text-color;
  569. text-decoration: none;
  570. padding: 15px;
  571. strong {
  572. font-weight: 700;
  573. color: $primary-text-color;
  574. }
  575. }
  576. }
  577. @media screen and (max-width: $no-columns-breakpoint) {
  578. display: block;
  579. flex: 100%;
  580. }
  581. }
  582. }
  583. .account__section-headline {
  584. border-radius: 4px 4px 0 0;
  585. @media screen and (max-width: $no-gap-breakpoint) {
  586. border-radius: 0;
  587. }
  588. }
  589. .detailed-status__meta {
  590. margin-top: 25px;
  591. }
  592. .public-account-bio {
  593. background: lighten($ui-base-color, 8%);
  594. box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
  595. border-radius: 4px;
  596. overflow: hidden;
  597. margin-bottom: 10px;
  598. @media screen and (max-width: $no-gap-breakpoint) {
  599. box-shadow: none;
  600. margin-bottom: 0;
  601. border-radius: 0;
  602. }
  603. .account__header__fields {
  604. margin: 0;
  605. border-top: 0;
  606. a {
  607. color: lighten($ui-highlight-color, 8%);
  608. }
  609. dl:first-child .verified {
  610. border-radius: 0 4px 0 0;
  611. }
  612. .verified a {
  613. color: $valid-value-color;
  614. }
  615. }
  616. .account__header__content {
  617. padding: 20px;
  618. padding-bottom: 0;
  619. color: $primary-text-color;
  620. }
  621. &__extra,
  622. .roles {
  623. padding: 20px;
  624. font-size: 14px;
  625. color: $darker-text-color;
  626. }
  627. .roles {
  628. padding-bottom: 0;
  629. }
  630. }
  631. .static-icon-button {
  632. color: $action-button-color;
  633. font-size: 18px;
  634. & > span {
  635. font-size: 14px;
  636. font-weight: 500;
  637. }
  638. }
  639. .card-grid {
  640. display: flex;
  641. flex-wrap: wrap;
  642. min-width: 100%;
  643. margin: 0 -5px;
  644. & > div {
  645. box-sizing: border-box;
  646. flex: 1 0 auto;
  647. width: 300px;
  648. padding: 0 5px;
  649. margin-bottom: 10px;
  650. max-width: 33.333%;
  651. @media screen and (max-width: 900px) {
  652. max-width: 50%;
  653. }
  654. @media screen and (max-width: 600px) {
  655. max-width: 100%;
  656. }
  657. }
  658. @media screen and (max-width: $no-gap-breakpoint) {
  659. margin: 0;
  660. border-top: 1px solid lighten($ui-base-color, 8%);
  661. & > div {
  662. width: 100%;
  663. padding: 0;
  664. margin-bottom: 0;
  665. border-bottom: 1px solid lighten($ui-base-color, 8%);
  666. &:last-child {
  667. border-bottom: 0;
  668. }
  669. .card__bar {
  670. background: $ui-base-color;
  671. &:hover,
  672. &:active,
  673. &:focus {
  674. background: lighten($ui-base-color, 4%);
  675. }
  676. }
  677. }
  678. }
  679. }
  680. }