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.
 
 
 
 

599 lines
9.6 KiB

  1. code {
  2. font-family: 'mastodon-font-monospace', monospace;
  3. font-weight: 400;
  4. }
  5. .form-container {
  6. max-width: 400px;
  7. padding: 20px;
  8. margin: 0 auto;
  9. }
  10. .simple_form {
  11. .input {
  12. margin-bottom: 15px;
  13. overflow: hidden;
  14. }
  15. .row {
  16. display: flex;
  17. margin: 0 -5px;
  18. .input {
  19. box-sizing: border-box;
  20. flex: 1 1 auto;
  21. width: 50%;
  22. padding: 0 5px;
  23. }
  24. }
  25. span.hint {
  26. display: block;
  27. color: $darker-text-color;
  28. font-size: 12px;
  29. margin-top: 4px;
  30. }
  31. p.hint {
  32. margin-bottom: 15px;
  33. color: $darker-text-color;
  34. &.subtle-hint {
  35. text-align: center;
  36. font-size: 12px;
  37. line-height: 18px;
  38. margin-top: 15px;
  39. margin-bottom: 0;
  40. color: $darker-text-color;
  41. a {
  42. color: $highlight-text-color;
  43. }
  44. }
  45. }
  46. .card {
  47. margin-bottom: 15px;
  48. }
  49. strong {
  50. font-weight: 500;
  51. @each $lang in $cjk-langs {
  52. &:lang(#{$lang}) {
  53. font-weight: 700;
  54. }
  55. }
  56. }
  57. .label_input {
  58. display: flex;
  59. label {
  60. flex: 0 0 auto;
  61. }
  62. input {
  63. flex: 1 1 auto;
  64. }
  65. }
  66. .input.with_label {
  67. padding: 15px 0;
  68. margin-bottom: 0;
  69. .label_input {
  70. flex-wrap: wrap;
  71. align-items: flex-start;
  72. }
  73. &.file .label_input {
  74. flex-wrap: nowrap;
  75. }
  76. &.select .label_input {
  77. align-items: initial;
  78. }
  79. .label_input > label {
  80. font-family: inherit;
  81. font-size: 16px;
  82. color: $primary-text-color;
  83. display: block;
  84. padding-top: 5px;
  85. margin-bottom: 5px;
  86. flex: 1;
  87. min-width: 150px;
  88. word-wrap: break-word;
  89. &.select {
  90. flex: 0;
  91. }
  92. & ~ * {
  93. margin-left: 10px;
  94. }
  95. }
  96. ul {
  97. flex: 390px;
  98. }
  99. &.boolean {
  100. padding: initial;
  101. margin-bottom: initial;
  102. .label_input > label {
  103. font-family: inherit;
  104. font-size: 14px;
  105. color: $primary-text-color;
  106. display: block;
  107. width: auto;
  108. }
  109. label.checkbox {
  110. position: relative;
  111. padding-left: 25px;
  112. flex: 1 1 auto;
  113. }
  114. }
  115. }
  116. .input.with_block_label {
  117. & > label {
  118. font-family: inherit;
  119. font-size: 16px;
  120. color: $primary-text-color;
  121. display: block;
  122. padding-top: 5px;
  123. }
  124. .hint {
  125. margin-bottom: 15px;
  126. }
  127. li {
  128. float: left;
  129. width: 50%;
  130. }
  131. }
  132. .fields-group {
  133. margin-bottom: 25px;
  134. }
  135. .input.radio_buttons .radio label {
  136. margin-bottom: 5px;
  137. font-family: inherit;
  138. font-size: 14px;
  139. color: $primary-text-color;
  140. display: block;
  141. width: auto;
  142. }
  143. .input.boolean {
  144. margin-bottom: 5px;
  145. label {
  146. font-family: inherit;
  147. font-size: 14px;
  148. color: $primary-text-color;
  149. display: block;
  150. width: auto;
  151. }
  152. label.checkbox {
  153. position: relative;
  154. padding-left: 25px;
  155. flex: 1 1 auto;
  156. }
  157. input[type=checkbox] {
  158. position: absolute;
  159. left: 0;
  160. top: 5px;
  161. margin: 0;
  162. }
  163. .hint {
  164. padding-left: 25px;
  165. margin-left: 0;
  166. }
  167. }
  168. .check_boxes {
  169. .checkbox {
  170. label {
  171. font-family: inherit;
  172. font-size: 14px;
  173. color: $primary-text-color;
  174. display: block;
  175. width: auto;
  176. position: relative;
  177. padding-top: 5px;
  178. padding-left: 25px;
  179. flex: 1 1 auto;
  180. }
  181. input[type=checkbox] {
  182. position: absolute;
  183. left: 0;
  184. top: 5px;
  185. margin: 0;
  186. }
  187. }
  188. }
  189. input[type=text],
  190. input[type=number],
  191. input[type=email],
  192. input[type=password],
  193. textarea {
  194. background: transparent;
  195. box-sizing: border-box;
  196. border: 0;
  197. border-bottom: 2px solid $ui-primary-color;
  198. border-radius: 2px 2px 0 0;
  199. padding: 7px 4px;
  200. font-size: 16px;
  201. color: $primary-text-color;
  202. display: block;
  203. width: 100%;
  204. outline: 0;
  205. font-family: inherit;
  206. resize: vertical;
  207. &:invalid {
  208. box-shadow: none;
  209. }
  210. &:focus:invalid {
  211. border-bottom-color: lighten($error-red, 12%);
  212. }
  213. &:required:valid {
  214. border-bottom-color: $valid-value-color;
  215. }
  216. &:active,
  217. &:focus {
  218. border-bottom-color: $highlight-text-color;
  219. background: rgba($base-overlay-background, 0.1);
  220. }
  221. }
  222. .input.field_with_errors {
  223. label {
  224. color: lighten($error-red, 12%);
  225. }
  226. input[type=text],
  227. input[type=email],
  228. input[type=password] {
  229. border-bottom-color: $valid-value-color;
  230. }
  231. .error {
  232. display: block;
  233. font-weight: 500;
  234. color: lighten($error-red, 12%);
  235. margin-top: 4px;
  236. }
  237. }
  238. .actions {
  239. margin-top: 30px;
  240. display: flex;
  241. &.actions--top {
  242. margin-top: 0;
  243. margin-bottom: 30px;
  244. }
  245. }
  246. button,
  247. .button,
  248. .block-button {
  249. display: block;
  250. width: 100%;
  251. border: 0;
  252. border-radius: 4px;
  253. background: $ui-highlight-color;
  254. color: $primary-text-color;
  255. font-size: 18px;
  256. line-height: inherit;
  257. height: auto;
  258. padding: 10px;
  259. text-transform: uppercase;
  260. text-decoration: none;
  261. text-align: center;
  262. box-sizing: border-box;
  263. cursor: pointer;
  264. font-weight: 500;
  265. outline: 0;
  266. margin-bottom: 10px;
  267. margin-right: 10px;
  268. &:last-child {
  269. margin-right: 0;
  270. }
  271. &:hover {
  272. background-color: lighten($ui-highlight-color, 5%);
  273. }
  274. &:active,
  275. &:focus {
  276. background-color: darken($ui-highlight-color, 5%);
  277. }
  278. &.negative {
  279. background: $error-value-color;
  280. &:hover {
  281. background-color: lighten($error-value-color, 5%);
  282. }
  283. &:active,
  284. &:focus {
  285. background-color: darken($error-value-color, 5%);
  286. }
  287. }
  288. }
  289. select {
  290. font-size: 16px;
  291. max-height: 29px;
  292. }
  293. .input-with-append {
  294. position: relative;
  295. .input input {
  296. padding-right: 127px;
  297. }
  298. .append {
  299. position: absolute;
  300. right: 0;
  301. top: 0;
  302. padding: 7px 4px;
  303. padding-bottom: 9px;
  304. font-size: 16px;
  305. color: $dark-text-color;
  306. font-family: inherit;
  307. pointer-events: none;
  308. cursor: default;
  309. }
  310. }
  311. }
  312. .flash-message {
  313. background: lighten($ui-base-color, 8%);
  314. color: $darker-text-color;
  315. border-radius: 4px;
  316. padding: 15px 10px;
  317. margin-bottom: 30px;
  318. box-shadow: 0 0 5px rgba($base-shadow-color, 0.2);
  319. text-align: center;
  320. p {
  321. margin-bottom: 15px;
  322. }
  323. .oauth-code {
  324. outline: 0;
  325. box-sizing: border-box;
  326. display: block;
  327. width: 100%;
  328. border: none;
  329. padding: 10px;
  330. font-family: 'mastodon-font-monospace', monospace;
  331. background: $ui-base-color;
  332. color: $primary-text-color;
  333. font-size: 14px;
  334. margin: 0;
  335. &::-moz-focus-inner {
  336. border: 0;
  337. }
  338. &::-moz-focus-inner,
  339. &:focus,
  340. &:active {
  341. outline: 0 !important;
  342. }
  343. &:focus {
  344. background: lighten($ui-base-color, 4%);
  345. }
  346. }
  347. strong {
  348. font-weight: 500;
  349. @each $lang in $cjk-langs {
  350. &:lang(#{$lang}) {
  351. font-weight: 700;
  352. }
  353. }
  354. }
  355. @media screen and (max-width: 740px) and (min-width: 441px) {
  356. margin-top: 40px;
  357. }
  358. }
  359. .form-footer {
  360. margin-top: 30px;
  361. text-align: center;
  362. a {
  363. color: $darker-text-color;
  364. text-decoration: none;
  365. &:hover {
  366. text-decoration: underline;
  367. }
  368. }
  369. }
  370. .oauth-prompt,
  371. .follow-prompt {
  372. margin-bottom: 30px;
  373. text-align: center;
  374. color: $darker-text-color;
  375. h2 {
  376. font-size: 16px;
  377. margin-bottom: 30px;
  378. }
  379. strong {
  380. color: $secondary-text-color;
  381. font-weight: 500;
  382. @each $lang in $cjk-langs {
  383. &:lang(#{$lang}) {
  384. font-weight: 700;
  385. }
  386. }
  387. }
  388. @media screen and (max-width: 740px) and (min-width: 441px) {
  389. margin-top: 40px;
  390. }
  391. }
  392. .qr-wrapper {
  393. display: flex;
  394. flex-wrap: wrap;
  395. align-items: flex-start;
  396. }
  397. .qr-code {
  398. flex: 0 0 auto;
  399. background: $simple-background-color;
  400. padding: 4px;
  401. margin: 0 10px 20px 0;
  402. box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
  403. display: inline-block;
  404. svg {
  405. display: block;
  406. margin: 0;
  407. }
  408. }
  409. .qr-alternative {
  410. margin-bottom: 20px;
  411. color: $secondary-text-color;
  412. flex: 150px;
  413. samp {
  414. display: block;
  415. font-size: 14px;
  416. }
  417. }
  418. .table-form {
  419. p {
  420. margin-bottom: 15px;
  421. strong {
  422. font-weight: 500;
  423. @each $lang in $cjk-langs {
  424. &:lang(#{$lang}) {
  425. font-weight: 700;
  426. }
  427. }
  428. }
  429. }
  430. }
  431. .simple_form,
  432. .table-form {
  433. .warning {
  434. box-sizing: border-box;
  435. background: rgba($error-value-color, 0.5);
  436. color: $primary-text-color;
  437. text-shadow: 1px 1px 0 rgba($base-shadow-color, 0.3);
  438. box-shadow: 0 2px 6px rgba($base-shadow-color, 0.4);
  439. border-radius: 4px;
  440. padding: 10px;
  441. margin-bottom: 15px;
  442. a {
  443. color: $primary-text-color;
  444. text-decoration: underline;
  445. &:hover,
  446. &:focus,
  447. &:active {
  448. text-decoration: none;
  449. }
  450. }
  451. strong {
  452. font-weight: 600;
  453. display: block;
  454. margin-bottom: 5px;
  455. @each $lang in $cjk-langs {
  456. &:lang(#{$lang}) {
  457. font-weight: 700;
  458. }
  459. }
  460. .fa {
  461. font-weight: 400;
  462. }
  463. }
  464. }
  465. }
  466. .action-pagination {
  467. display: flex;
  468. flex-wrap: wrap;
  469. align-items: center;
  470. .actions,
  471. .pagination {
  472. flex: 1 1 auto;
  473. }
  474. .actions {
  475. padding: 30px 0;
  476. padding-right: 20px;
  477. flex: 0 0 auto;
  478. }
  479. }
  480. .post-follow-actions {
  481. text-align: center;
  482. color: $darker-text-color;
  483. div {
  484. margin-bottom: 4px;
  485. }
  486. }
  487. .alternative-login {
  488. margin-top: 20px;
  489. margin-bottom: 20px;
  490. h4 {
  491. font-size: 16px;
  492. color: $primary-text-color;
  493. text-align: center;
  494. margin-bottom: 20px;
  495. border: 0;
  496. padding: 0;
  497. }
  498. .button {
  499. display: block;
  500. }
  501. }