The code powering m.abunchtell.com https://m.abunchtell.com
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 

770 行
13 KiB

  1. $no-columns-breakpoint: 600px;
  2. code {
  3. font-family: 'mastodon-font-monospace', monospace;
  4. font-weight: 400;
  5. }
  6. .form-container {
  7. max-width: 400px;
  8. padding: 20px;
  9. margin: 0 auto;
  10. }
  11. .simple_form {
  12. .input {
  13. margin-bottom: 15px;
  14. overflow: hidden;
  15. &.hidden {
  16. margin: 0;
  17. }
  18. &.radio_buttons {
  19. .radio {
  20. margin-bottom: 15px;
  21. &:last-child {
  22. margin-bottom: 0;
  23. }
  24. }
  25. .radio > label {
  26. position: relative;
  27. padding-left: 28px;
  28. input {
  29. position: absolute;
  30. top: -2px;
  31. left: 0;
  32. }
  33. }
  34. }
  35. &.boolean {
  36. position: relative;
  37. margin-bottom: 0;
  38. .label_input > label {
  39. font-family: inherit;
  40. font-size: 14px;
  41. padding-top: 5px;
  42. color: $primary-text-color;
  43. display: block;
  44. width: auto;
  45. }
  46. .label_input,
  47. .hint {
  48. padding-left: 28px;
  49. }
  50. .label_input__wrapper {
  51. position: static;
  52. }
  53. label.checkbox {
  54. position: absolute;
  55. top: 2px;
  56. left: 0;
  57. }
  58. }
  59. }
  60. .row {
  61. display: flex;
  62. margin: 0 -5px;
  63. .input {
  64. box-sizing: border-box;
  65. flex: 1 1 auto;
  66. width: 50%;
  67. padding: 0 5px;
  68. }
  69. }
  70. .hint {
  71. color: $darker-text-color;
  72. a {
  73. color: $highlight-text-color;
  74. }
  75. code {
  76. border-radius: 3px;
  77. padding: 0.2em 0.4em;
  78. background: darken($ui-base-color, 12%);
  79. }
  80. }
  81. span.hint {
  82. display: block;
  83. font-size: 12px;
  84. margin-top: 4px;
  85. }
  86. p.hint {
  87. margin-bottom: 15px;
  88. color: $darker-text-color;
  89. &.subtle-hint {
  90. text-align: center;
  91. font-size: 12px;
  92. line-height: 18px;
  93. margin-top: 15px;
  94. margin-bottom: 0;
  95. }
  96. }
  97. .card {
  98. margin-bottom: 15px;
  99. }
  100. strong {
  101. font-weight: 500;
  102. @each $lang in $cjk-langs {
  103. &:lang(#{$lang}) {
  104. font-weight: 700;
  105. }
  106. }
  107. }
  108. .input.with_floating_label {
  109. .label_input {
  110. display: flex;
  111. & > label {
  112. font-family: inherit;
  113. font-size: 14px;
  114. color: $primary-text-color;
  115. font-weight: 500;
  116. min-width: 150px;
  117. flex: 0 0 auto;
  118. }
  119. input,
  120. select {
  121. flex: 1 1 auto;
  122. }
  123. }
  124. &.select .hint {
  125. margin-top: 6px;
  126. margin-left: 150px;
  127. }
  128. }
  129. .input.with_label {
  130. .label_input > label {
  131. font-family: inherit;
  132. font-size: 14px;
  133. color: $primary-text-color;
  134. display: block;
  135. margin-bottom: 8px;
  136. word-wrap: break-word;
  137. font-weight: 500;
  138. }
  139. .hint {
  140. margin-top: 6px;
  141. }
  142. ul {
  143. flex: 390px;
  144. }
  145. }
  146. .input.with_block_label {
  147. max-width: none;
  148. & > label {
  149. font-family: inherit;
  150. font-size: 16px;
  151. color: $primary-text-color;
  152. display: block;
  153. font-weight: 500;
  154. padding-top: 5px;
  155. }
  156. .hint {
  157. margin-bottom: 15px;
  158. }
  159. ul {
  160. columns: 2;
  161. }
  162. }
  163. .required abbr {
  164. text-decoration: none;
  165. color: lighten($error-value-color, 12%);
  166. }
  167. .fields-group {
  168. margin-bottom: 25px;
  169. .input:last-child {
  170. margin-bottom: 0;
  171. }
  172. }
  173. .fields-row {
  174. display: flex;
  175. margin: 0 -10px;
  176. padding-top: 5px;
  177. margin-bottom: 25px;
  178. .input {
  179. max-width: none;
  180. }
  181. &__column {
  182. box-sizing: border-box;
  183. padding: 0 10px;
  184. flex: 1 1 auto;
  185. min-height: 1px;
  186. &-6 {
  187. max-width: 50%;
  188. }
  189. }
  190. .fields-group:last-child,
  191. .fields-row__column.fields-group {
  192. margin-bottom: 0;
  193. }
  194. @media screen and (max-width: $no-columns-breakpoint) {
  195. display: block;
  196. margin-bottom: 0;
  197. &__column {
  198. max-width: none;
  199. }
  200. .fields-group:last-child,
  201. .fields-row__column.fields-group,
  202. .fields-row__column {
  203. margin-bottom: 25px;
  204. }
  205. }
  206. }
  207. .input.radio_buttons .radio label {
  208. margin-bottom: 5px;
  209. font-family: inherit;
  210. font-size: 14px;
  211. color: $primary-text-color;
  212. display: block;
  213. width: auto;
  214. }
  215. .check_boxes {
  216. .checkbox {
  217. label {
  218. font-family: inherit;
  219. font-size: 14px;
  220. color: $primary-text-color;
  221. display: block;
  222. width: auto;
  223. position: relative;
  224. padding-top: 5px;
  225. padding-left: 25px;
  226. flex: 1 1 auto;
  227. }
  228. input[type=checkbox] {
  229. position: absolute;
  230. left: 0;
  231. top: 5px;
  232. margin: 0;
  233. }
  234. }
  235. }
  236. input[type=text],
  237. input[type=number],
  238. input[type=email],
  239. input[type=password],
  240. textarea {
  241. box-sizing: border-box;
  242. font-size: 16px;
  243. color: $primary-text-color;
  244. display: block;
  245. width: 100%;
  246. outline: 0;
  247. font-family: inherit;
  248. resize: vertical;
  249. background: darken($ui-base-color, 10%);
  250. border: 1px solid darken($ui-base-color, 14%);
  251. border-radius: 4px;
  252. padding: 10px;
  253. &:invalid {
  254. box-shadow: none;
  255. }
  256. &:focus:invalid {
  257. border-color: lighten($error-red, 12%);
  258. }
  259. &:required:valid {
  260. border-color: $valid-value-color;
  261. }
  262. &:hover {
  263. border-color: darken($ui-base-color, 20%);
  264. }
  265. &:active,
  266. &:focus {
  267. border-color: $highlight-text-color;
  268. background: darken($ui-base-color, 8%);
  269. }
  270. }
  271. .input.field_with_errors {
  272. label {
  273. color: lighten($error-red, 12%);
  274. }
  275. input[type=text],
  276. input[type=email],
  277. input[type=password] {
  278. border-bottom-color: $valid-value-color;
  279. }
  280. .error {
  281. display: block;
  282. font-weight: 500;
  283. color: lighten($error-red, 12%);
  284. margin-top: 4px;
  285. }
  286. }
  287. .actions {
  288. margin-top: 30px;
  289. display: flex;
  290. &.actions--top {
  291. margin-top: 0;
  292. margin-bottom: 30px;
  293. }
  294. }
  295. button,
  296. .button,
  297. .block-button {
  298. display: block;
  299. width: 100%;
  300. border: 0;
  301. border-radius: 4px;
  302. background: $ui-highlight-color;
  303. color: $primary-text-color;
  304. font-size: 18px;
  305. line-height: inherit;
  306. height: auto;
  307. padding: 10px;
  308. text-transform: uppercase;
  309. text-decoration: none;
  310. text-align: center;
  311. box-sizing: border-box;
  312. cursor: pointer;
  313. font-weight: 500;
  314. outline: 0;
  315. margin-bottom: 10px;
  316. margin-right: 10px;
  317. &:last-child {
  318. margin-right: 0;
  319. }
  320. &:hover {
  321. background-color: lighten($ui-highlight-color, 5%);
  322. }
  323. &:active,
  324. &:focus {
  325. background-color: darken($ui-highlight-color, 5%);
  326. }
  327. &.negative {
  328. background: $error-value-color;
  329. &:hover {
  330. background-color: lighten($error-value-color, 5%);
  331. }
  332. &:active,
  333. &:focus {
  334. background-color: darken($error-value-color, 5%);
  335. }
  336. }
  337. }
  338. select {
  339. appearance: none;
  340. box-sizing: border-box;
  341. font-size: 16px;
  342. color: $primary-text-color;
  343. display: block;
  344. width: 100%;
  345. outline: 0;
  346. font-family: inherit;
  347. resize: vertical;
  348. background: darken($ui-base-color, 10%) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14.933 18.467' height='19.698' width='15.929'><path d='M3.467 14.967l-3.393-3.5H14.86l-3.392 3.5c-1.866 1.925-3.666 3.5-4 3.5-.335 0-2.135-1.575-4-3.5zm.266-11.234L7.467 0 11.2 3.733l3.733 3.734H0l3.733-3.734z' fill='#{hex-color(lighten($ui-base-color, 12%))}'/></svg>") no-repeat right 8px center / auto 16px;
  349. border: 1px solid darken($ui-base-color, 14%);
  350. border-radius: 4px;
  351. padding: 10px;
  352. height: 41px;
  353. }
  354. .label_input {
  355. &__wrapper {
  356. position: relative;
  357. }
  358. &__append {
  359. position: absolute;
  360. right: 1px;
  361. top: 1px;
  362. padding: 10px;
  363. padding-bottom: 9px;
  364. font-size: 16px;
  365. color: $dark-text-color;
  366. font-family: inherit;
  367. pointer-events: none;
  368. cursor: default;
  369. max-width: 140px;
  370. white-space: nowrap;
  371. overflow: hidden;
  372. &::after {
  373. content: '';
  374. display: block;
  375. position: absolute;
  376. top: 0;
  377. right: 0;
  378. bottom: 1px;
  379. width: 5px;
  380. background-image: linear-gradient(to right, rgba(darken($ui-base-color, 10%), 0), darken($ui-base-color, 10%));
  381. }
  382. }
  383. }
  384. }
  385. .flash-message {
  386. background: lighten($ui-base-color, 8%);
  387. color: $darker-text-color;
  388. border-radius: 4px;
  389. padding: 15px 10px;
  390. margin-bottom: 30px;
  391. box-shadow: 0 0 5px rgba($base-shadow-color, 0.2);
  392. text-align: center;
  393. p {
  394. margin-bottom: 15px;
  395. }
  396. .oauth-code {
  397. outline: 0;
  398. box-sizing: border-box;
  399. display: block;
  400. width: 100%;
  401. border: none;
  402. padding: 10px;
  403. font-family: 'mastodon-font-monospace', monospace;
  404. background: $ui-base-color;
  405. color: $primary-text-color;
  406. font-size: 14px;
  407. margin: 0;
  408. &::-moz-focus-inner {
  409. border: 0;
  410. }
  411. &::-moz-focus-inner,
  412. &:focus,
  413. &:active {
  414. outline: 0 !important;
  415. }
  416. &:focus {
  417. background: lighten($ui-base-color, 4%);
  418. }
  419. }
  420. strong {
  421. font-weight: 500;
  422. @each $lang in $cjk-langs {
  423. &:lang(#{$lang}) {
  424. font-weight: 700;
  425. }
  426. }
  427. }
  428. @media screen and (max-width: 740px) and (min-width: 441px) {
  429. margin-top: 40px;
  430. }
  431. }
  432. .form-footer {
  433. margin-top: 30px;
  434. text-align: center;
  435. a {
  436. color: $darker-text-color;
  437. text-decoration: none;
  438. &:hover {
  439. text-decoration: underline;
  440. }
  441. }
  442. }
  443. .quick-nav {
  444. list-style: none;
  445. margin-bottom: 25px;
  446. font-size: 14px;
  447. li {
  448. display: inline-block;
  449. margin-right: 10px;
  450. }
  451. a {
  452. color: $highlight-text-color;
  453. text-transform: uppercase;
  454. text-decoration: none;
  455. font-weight: 700;
  456. &:hover,
  457. &:focus,
  458. &:active {
  459. color: lighten($highlight-text-color, 8%);
  460. }
  461. }
  462. }
  463. .oauth-prompt,
  464. .follow-prompt {
  465. margin-bottom: 30px;
  466. text-align: center;
  467. color: $darker-text-color;
  468. h2 {
  469. font-size: 16px;
  470. margin-bottom: 30px;
  471. }
  472. strong {
  473. color: $secondary-text-color;
  474. font-weight: 500;
  475. @each $lang in $cjk-langs {
  476. &:lang(#{$lang}) {
  477. font-weight: 700;
  478. }
  479. }
  480. }
  481. @media screen and (max-width: 740px) and (min-width: 441px) {
  482. margin-top: 40px;
  483. }
  484. }
  485. .qr-wrapper {
  486. display: flex;
  487. flex-wrap: wrap;
  488. align-items: flex-start;
  489. }
  490. .qr-code {
  491. flex: 0 0 auto;
  492. background: $simple-background-color;
  493. padding: 4px;
  494. margin: 0 10px 20px 0;
  495. box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
  496. display: inline-block;
  497. svg {
  498. display: block;
  499. margin: 0;
  500. }
  501. }
  502. .qr-alternative {
  503. margin-bottom: 20px;
  504. color: $secondary-text-color;
  505. flex: 150px;
  506. samp {
  507. display: block;
  508. font-size: 14px;
  509. }
  510. }
  511. .table-form {
  512. p {
  513. margin-bottom: 15px;
  514. strong {
  515. font-weight: 500;
  516. @each $lang in $cjk-langs {
  517. &:lang(#{$lang}) {
  518. font-weight: 700;
  519. }
  520. }
  521. }
  522. }
  523. }
  524. .simple_form,
  525. .table-form {
  526. .warning {
  527. box-sizing: border-box;
  528. background: rgba($error-value-color, 0.5);
  529. color: $primary-text-color;
  530. text-shadow: 1px 1px 0 rgba($base-shadow-color, 0.3);
  531. box-shadow: 0 2px 6px rgba($base-shadow-color, 0.4);
  532. border-radius: 4px;
  533. padding: 10px;
  534. margin-bottom: 15px;
  535. a {
  536. color: $primary-text-color;
  537. text-decoration: underline;
  538. &:hover,
  539. &:focus,
  540. &:active {
  541. text-decoration: none;
  542. }
  543. }
  544. strong {
  545. font-weight: 600;
  546. display: block;
  547. margin-bottom: 5px;
  548. @each $lang in $cjk-langs {
  549. &:lang(#{$lang}) {
  550. font-weight: 700;
  551. }
  552. }
  553. .fa {
  554. font-weight: 400;
  555. }
  556. }
  557. }
  558. }
  559. .action-pagination {
  560. display: flex;
  561. flex-wrap: wrap;
  562. align-items: center;
  563. .actions,
  564. .pagination {
  565. flex: 1 1 auto;
  566. }
  567. .actions {
  568. padding: 30px 0;
  569. padding-right: 20px;
  570. flex: 0 0 auto;
  571. }
  572. }
  573. .post-follow-actions {
  574. text-align: center;
  575. color: $darker-text-color;
  576. div {
  577. margin-bottom: 4px;
  578. }
  579. }
  580. .alternative-login {
  581. margin-top: 20px;
  582. margin-bottom: 20px;
  583. h4 {
  584. font-size: 16px;
  585. color: $primary-text-color;
  586. text-align: center;
  587. margin-bottom: 20px;
  588. border: 0;
  589. padding: 0;
  590. }
  591. .button {
  592. display: block;
  593. }
  594. }
  595. .scope-danger {
  596. color: $warning-red;
  597. }
  598. .form_admin_settings_site_short_description,
  599. .form_admin_settings_site_description,
  600. .form_admin_settings_site_extended_description,
  601. .form_admin_settings_site_terms,
  602. .form_admin_settings_custom_css,
  603. .form_admin_settings_closed_registrations_message {
  604. textarea {
  605. font-family: 'mastodon-font-monospace', monospace;
  606. }
  607. }
  608. .input-copy {
  609. background: darken($ui-base-color, 10%);
  610. border: 1px solid darken($ui-base-color, 14%);
  611. border-radius: 4px;
  612. display: flex;
  613. align-items: center;
  614. padding-right: 4px;
  615. position: relative;
  616. top: 1px;
  617. transition: border-color 300ms linear;
  618. &__wrapper {
  619. flex: 1 1 auto;
  620. }
  621. input[type=text] {
  622. background: transparent;
  623. border: 0;
  624. padding: 10px;
  625. font-size: 14px;
  626. font-family: 'mastodon-font-monospace', monospace;
  627. }
  628. button {
  629. flex: 0 0 auto;
  630. margin: 4px;
  631. text-transform: none;
  632. font-weight: 400;
  633. font-size: 14px;
  634. padding: 7px 18px;
  635. padding-bottom: 6px;
  636. width: auto;
  637. transition: background 300ms linear;
  638. }
  639. &.copied {
  640. border-color: $valid-value-color;
  641. transition: none;
  642. button {
  643. background: $valid-value-color;
  644. transition: none;
  645. }
  646. }
  647. }