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.

696 lines
12 KiB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
  1. @charset "UTF-8";
  2. @font-face {
  3. font-family: "IBM Plex Mono";
  4. src: url(/fonts/IBMPlexMono.eot?85f924ecb898e5720062617e4a86f1d1);
  5. src: url(/fonts/IBMPlexMono.eot?85f924ecb898e5720062617e4a86f1d1) format("embedded-opentype"), url(/fonts/IBMPlexMono.woff2?db620201a437f00ce78da2a10cf50f3f) format("woff2"), url(/fonts/IBMPlexMono.woff?3d04ef6de65d3c77bd60c158326be298) format("woff"), url(/fonts/IBMPlexMono.ttf?ce51a85eb7160067d01bcf6e56f837d1) format("truetype");
  6. font-weight: normal;
  7. font-style: normal;
  8. font-display: swap;
  9. }
  10. @font-face {
  11. font-family: "IBM Plex Mono";
  12. src: url(/fonts/IBMPlexMono-Bold.eot?eb105b142ce736849ef4828cb0c8eb34);
  13. src: url(/fonts/IBMPlexMono-Bold.eot?eb105b142ce736849ef4828cb0c8eb34) format("embedded-opentype"), url(/fonts/IBMPlexMono-Bold.woff2?8b633c62813e0275ebd7a1c793c4e99c) format("woff2"), url(/fonts/IBMPlexMono-Bold.woff?b72090c625b4144f3763d5b2bf8f5942) format("woff"), url(/fonts/IBMPlexMono-Bold.ttf?558e55bd46468bb8d7074d7064d02c30) format("truetype");
  14. font-weight: bold;
  15. font-style: normal;
  16. font-display: swap;
  17. }
  18. /**
  19. * mixins
  20. *
  21. *
  22. * @author Björn Hase, Tentakelfabrik
  23. * @license http://opensource.org/licenses/MIT The MIT License
  24. * @link https://github.com/tentakelfabrik/plain-ui-css
  25. *
  26. */
  27. /**
  28. * Clear Floats
  29. *
  30. *
  31. *
  32. */
  33. /**
  34. * clear styles from list
  35. *
  36. *
  37. */
  38. /**
  39. * media-queries as mixins
  40. * based on breakpoints from variables
  41. *
  42. *
  43. *
  44. */
  45. /**
  46. * Set property and his value for each Breakpoint
  47. *
  48. * (
  49. * $plain-ui__md: 10px
  50. * )
  51. *
  52. *
  53. * @param {css} $property
  54. * @param {map} $breakpoints
  55. * @param {Boolean} $important [false]
  56. *
  57. */
  58. /**
  59. * Set property and his value with an factor for each Breakpoint
  60. *
  61. * (
  62. * $plain-ui__md: 10px
  63. * )
  64. *
  65. * @param {css} $property
  66. * @param {number} $factor
  67. * @param {map} $breakpoints
  68. * @param {Boolean} $important [false]
  69. *
  70. */
  71. /**
  72. * Set font-size from Breakpoints, use for calculating difference from font-size and default font-size
  73. *
  74. * (
  75. * $plain-ui__md: 1rem
  76. * )
  77. *
  78. * @param {map} $breakpoints
  79. * @param {unit} $font-size
  80. * @param {unit} $default
  81. * @param {Boolean} $important [false]
  82. *
  83. */
  84. /**
  85. * variables
  86. *
  87. *
  88. *
  89. * @author Björn Hase, Tentakelfabrik
  90. * @license http://opensource.org/licenses/MIT The MIT License
  91. * @link https://github.com/tentakelfabrik/plain-ui-css
  92. *
  93. */
  94. /**
  95. * breakpoints
  96. *
  97. */
  98. /**
  99. * fonts
  100. *
  101. */
  102. /**
  103. * colors
  104. *
  105. *
  106. */
  107. /**
  108. * padding & margin
  109. *
  110. */
  111. /**
  112. * heading
  113. *
  114. */
  115. /**
  116. * z-index
  117. *
  118. */
  119. /**
  120. * core
  121. *
  122. *
  123. * @author Björn Hase, Tentakelfabrik
  124. * @license http://opensource.org/licenses/MIT The MIT License
  125. * @link https://github.com/tentakelfabrik/crispy-css
  126. *
  127. */
  128. /**
  129. * normalize
  130. *
  131. * Thanks to https://necolas.github.io/normalize.css/, use a lot from them
  132. *
  133. * @author Björn Hase, Tentakelfabrik
  134. * @license http://opensource.org/licenses/MIT The MIT License
  135. * @link https://github.com/tentakelfabrik/crispy-css
  136. *
  137. */
  138. /**
  139. * Heading
  140. *
  141. *
  142. * @author Björn Hase, Tentakelfabrik
  143. * @license http://opensource.org/licenses/MIT The MIT License
  144. * @link https://github.com/tentakelfabrik/crispy-css
  145. *
  146. */
  147. /**
  148. * typograhy
  149. *
  150. * @author Björn Hase, Tentakelfabrik
  151. * @license http://opensource.org/licenses/MIT The MIT License
  152. * @link https://github.com/tentakelfabrik/crispy-css
  153. *
  154. */
  155. html {
  156. font-size: 100%;
  157. line-height: 1.15;
  158. -webkit-text-size-adjust: 100%;
  159. }
  160. body,
  161. html {
  162. margin: 0;
  163. height: 100%;
  164. }
  165. html,
  166. legend {
  167. box-sizing: border-box;
  168. }
  169. main {
  170. display: block;
  171. }
  172. *,
  173. *::after,
  174. *::before {
  175. box-sizing: inherit;
  176. }
  177. table {
  178. border-collapse: collapse;
  179. border-spacing: 0;
  180. }
  181. figcaption {
  182. margin: 10px 0;
  183. }
  184. /**
  185. * form elements
  186. *
  187. *
  188. */
  189. button,
  190. input,
  191. optgroup,
  192. select,
  193. textarea {
  194. margin: 0;
  195. }
  196. button,
  197. select {
  198. text-transform: none;
  199. }
  200. button,
  201. [type=button],
  202. [type=reset],
  203. [type=submit] {
  204. -webkit-appearance: button;
  205. }
  206. button::-moz-focus-inner,
  207. [type=button]::-moz-focus-inner,
  208. [type=reset]::-moz-focus-inner,
  209. [type=submit]::-moz-focus-inner {
  210. border-style: none;
  211. padding: 0;
  212. }
  213. button:-moz-focusring,
  214. [type=button]:-moz-focusring,
  215. [type=reset]:-moz-focusring,
  216. [type=submit]:-moz-focusring {
  217. outline: 1px dotted ButtonText;
  218. }
  219. legend {
  220. box-sizing: border-box;
  221. display: table;
  222. max-width: 100%;
  223. padding: 0;
  224. white-space: normal;
  225. }
  226. [type=number]::-webkit-inner-spin-button,
  227. [type=number]::-webkit-outer-spin-button {
  228. height: auto;
  229. }
  230. [type=search] {
  231. -webkit-appearance: textfield;
  232. outline-offset: -2px;
  233. }
  234. [type=search]::-webkit-search-decoration {
  235. -webkit-appearance: none;
  236. }
  237. ::-webkit-file-upload-button {
  238. -webkit-appearance: button;
  239. font: inherit;
  240. }
  241. /**
  242. * hr
  243. *
  244. */
  245. hr {
  246. box-sizing: content-box;
  247. height: 0;
  248. overflow: visible;
  249. border: 0;
  250. margin: 0.3em 0;
  251. }
  252. progress {
  253. vertical-align: baseline;
  254. }
  255. details {
  256. display: block;
  257. }
  258. summary {
  259. display: list-item;
  260. }
  261. /**
  262. *
  263. *
  264. *
  265. *
  266. */
  267. /**
  268. *
  269. *
  270. *
  271. */
  272. /**
  273. *
  274. *
  275. *
  276. *
  277. */
  278. /**
  279. *
  280. *
  281. *
  282. *
  283. */
  284. /**
  285. * <div class="hero">
  286. * <img src="image.png" alt="image" />
  287. * </div>
  288. *
  289. */
  290. /**
  291. *
  292. *
  293. *
  294. */
  295. /**
  296. * <figure class="media-figure">
  297. * <img class="media__img" src="https://via.placeholder.com/150" />
  298. * <figcaption class="media-figure__caption">
  299. * food truck yr franzen pabst
  300. * </figcaption>
  301. * </figure>
  302. *
  303. */
  304. /**
  305. *
  306. *
  307. *
  308. */
  309. /**
  310. * <figure class="media-figure">
  311. * <img class="media__img" src="https://via.placeholder.com/150" />
  312. * <figcaption class="media-figure__caption">
  313. * food truck yr franzen pabst
  314. * </figcaption>
  315. * </figure>
  316. *
  317. */
  318. a {
  319. color: #fff;
  320. }
  321. a:focus {
  322. outline: none;
  323. }
  324. /**
  325. * body
  326. *
  327. *
  328. *
  329. * line-height and breakpoints
  330. * font-size and breakpoints
  331. *
  332. */
  333. body {
  334. font-family: "IBM Plex Mono", sans-serif;
  335. background-color: #f9f9f9;
  336. direction: ltr;
  337. font-size: 1rem;
  338. line-height: 1.4;
  339. }
  340. .badge {
  341. display: inline-block;
  342. background-color: #3e3e3e;
  343. color: white;
  344. font-size: 0.85rem;
  345. padding: 0.4em 0.8em;
  346. border: 1px solid #3e3e3e;
  347. border-radius: 2px;
  348. }
  349. .badge--round {
  350. display: inline-flex;
  351. justify-content: center;
  352. border-radius: 50%;
  353. width: 2.5em;
  354. }
  355. .button {
  356. -webkit-appearance: none;
  357. -moz-appearance: none;
  358. appearance: none;
  359. position: relative;
  360. display: inline-block;
  361. text-decoration: none;
  362. font-family: "IBM Plex Mono", sans-serif;
  363. border: 1px solid #3e3e3e;
  364. background-color: white;
  365. color: #3e3e3e;
  366. border-radius: 2px;
  367. transition: background-color 0.1s;
  368. margin-bottom: 0.5em;
  369. padding: 0.5em 1.3em;
  370. font-size: 1rem;
  371. width: 100%;
  372. }
  373. @media only screen and (min-width: 768px) {
  374. .button {
  375. width: auto;
  376. }
  377. }
  378. .button--small {
  379. font-size: 0.8em;
  380. }
  381. .button:hover {
  382. cursor: pointer;
  383. text-decoration: none;
  384. color: white;
  385. background-color: #3e3e3e;
  386. }
  387. .button:focus, .button:active {
  388. outline: 1px solid #646464;
  389. }
  390. .button:disabled {
  391. opacity: 0.5;
  392. }
  393. .button:disabled:hover {
  394. cursor: not-allowed;
  395. border: 1px solid #3e3e3e;
  396. background-color: white;
  397. color: #3e3e3e;
  398. }
  399. .button--danger {
  400. border-color: #d95959;
  401. }
  402. .button--danger:hover {
  403. background-color: #d95959;
  404. }
  405. .button--danger:focus, .button--danger:active {
  406. outline: 2px solid #e79797;
  407. }
  408. .field-group {
  409. margin-bottom: 1.2em;
  410. }
  411. .field-group--valid input.field-text, .field-group--valid textarea.field-text {
  412. border-color: #64ac64;
  413. }
  414. .field-group--valid .icon {
  415. fill: #64ac64;
  416. }
  417. .field-group--error input.field-text, .field-group--error textarea.field-text {
  418. border-color: #d95959;
  419. }
  420. .field-group--error .icon {
  421. fill: #d95959;
  422. }
  423. .field-label {
  424. font-size: 1rem;
  425. font-family: "IBM Plex Mono", sans-serif;
  426. }
  427. .field-label .icon {
  428. vertical-align: sub;
  429. font-size: 1.1rem;
  430. }
  431. .field-label:hover {
  432. cursor: pointer;
  433. }
  434. input.field-text, textarea.field-text, select.field-choice {
  435. font-family: "IBM Plex Mono", sans-serif;
  436. font-size: 0.95rem;
  437. width: 100%;
  438. border: 1px solid #a4a4a4;
  439. background-color: white;
  440. border-radius: 2px;
  441. margin: 0.7em 0 0;
  442. }
  443. input.field-text:focus, input.field-text:active, textarea.field-text:focus, textarea.field-text:active, select.field-choice:focus, select.field-choice:active {
  444. outline: 0;
  445. border-color: #3e3e3e;
  446. }
  447. input.field-text, textarea.field-text {
  448. padding: 0.8em 1.1em;
  449. }
  450. /**
  451. *
  452. *
  453. */
  454. select.field-choice {
  455. -webkit-appearance: none;
  456. -moz-appearance: none;
  457. appearance: none;
  458. padding: 0.8em;
  459. position: relative;
  460. }
  461. select.field-choice::after {
  462. position: absolute;
  463. right: 0;
  464. top: 0;
  465. display: block;
  466. content: " ";
  467. width: 10px;
  468. height: 10px;
  469. background: red;
  470. }
  471. /**
  472. * radio & checkbox
  473. *
  474. * <div class="field">
  475. * <label for="field__checkbox__1" class="field__label">
  476. * <input class="field__choice" type="checkbox" name="field__checkbox__1" value="true" />
  477. * <svg class="icon field__choice__unchecked" aria-hidden="true">
  478. * <use xlink:href="symbol-defs.svg#icon-minus"></use>
  479. * </svg>
  480. * <svg class="icon field__choice__checked" aria-hidden="true">
  481. * <use xlink:href="symbol-defs.svg#icon-checked"></use>
  482. * </svg>
  483. * checkbox 1
  484. * </label>
  485. * </div>
  486. *
  487. */
  488. input[type=checkbox].field-choice,
  489. input[type=radio].field-choice {
  490. position: relative;
  491. display: none;
  492. }
  493. input[type=checkbox].field-choice ~ .field-choice__checked,
  494. input[type=radio].field-choice ~ .field-choice__checked {
  495. display: none;
  496. }
  497. input[type=checkbox].field-choice:checked ~ .field-choice__checked,
  498. input[type=radio].field-choice:checked ~ .field-choice__checked {
  499. display: inline-block;
  500. }
  501. input[type=checkbox].field-choice:checked ~ .field-choice__unchecked,
  502. input[type=radio].field-choice:checked ~ .field-choice__unchecked {
  503. display: none;
  504. }
  505. svg.field-choice__unchecked {
  506. fill: #a4a4a4;
  507. }
  508. svg.field-choice__checked {
  509. fill: #64ac64;
  510. }
  511. .field-help, .field-error {
  512. display: inline-block;
  513. width: 100%;
  514. padding: 0.6em 0.5em;
  515. font-size: 0.8rem;
  516. }
  517. .field-error {
  518. color: #d95959;
  519. }
  520. .icon {
  521. width: 1em;
  522. height: 1em;
  523. max-height: 100%;
  524. max-width: 100%;
  525. vertical-align: middle;
  526. overflow: hidden;
  527. font-size: 1.2rem;
  528. fill: #3e3e3e;
  529. }
  530. .icon--success {
  531. fill: #64ac64;
  532. }
  533. .icon--danger {
  534. fill: #d95959;
  535. }
  536. .panel {
  537. border: 1px solid #3e3e3e;
  538. border-radius: 2px;
  539. background: #fff;
  540. }
  541. .panel__header {
  542. display: flex;
  543. background-color: #3e3e3e;
  544. color: white;
  545. padding: 0.8em 1.2em;
  546. line-height: 1.6em;
  547. }
  548. .panel__header button {
  549. -webkit-appearance: none;
  550. -moz-appearance: none;
  551. appearance: none;
  552. background: none;
  553. border: none;
  554. padding: 0;
  555. }
  556. .panel__header button:hover {
  557. cursor: pointer;
  558. }
  559. .panel__header .icon {
  560. vertical-align: bottom;
  561. width: 1.5em;
  562. height: 1.5em;
  563. margin-right: 0.5em;
  564. fill: white;
  565. }
  566. .panel__buttons {
  567. display: flex;
  568. justify-content: end;
  569. width: 100%;
  570. }
  571. .panel__buttons button:last-child .icon {
  572. margin-right: 0;
  573. }
  574. .panel__body {
  575. padding: 0.6em 1.2em;
  576. }
  577. .figure {
  578. margin: 0;
  579. display: inline-block;
  580. line-height: 0;
  581. border: 1px solid #3e3e3e;
  582. border-radius: 2px;
  583. overflow: hidden;
  584. }
  585. .figure__caption {
  586. padding: 0.75em 1.1em;
  587. font-size: 0.7rem;
  588. background: #3e3e3e;
  589. line-height: 1.4;
  590. margin: 0;
  591. color: white;
  592. }
  593. .figure img.media {
  594. border: 0;
  595. }
  596. img.media {
  597. border-radius: 2px;
  598. border: 1px solid #3e3e3e;
  599. width: 100%;
  600. height: auto;
  601. }
  602. .table {
  603. width: 100%;
  604. border: 1px solid #cacaca;
  605. background: white;
  606. }
  607. .table--striped tr:nth-child(even) {
  608. background-color: #fdfdfd;
  609. }
  610. .table--scroll {
  611. overflow-x: auto;
  612. }
  613. .table td {
  614. color: #3e3e3e;
  615. }
  616. .table td,
  617. .table th {
  618. text-align: left;
  619. border-bottom: 1px solid #cacaca;
  620. padding: 0.5em 1.25em;
  621. }
  622. .table th {
  623. border-bottom: 1px solid #8b8b8b;
  624. background-color: #e4e4e4;
  625. }
  626. .table tr:hover {
  627. background-color: #e4e4e4;
  628. }
  629. .hero {
  630. position: relative;
  631. }
  632. .hero img {
  633. width: 100%;
  634. -o-object-fit: cover;
  635. object-fit: cover;
  636. -o-object-position: 50% 50%;
  637. object-position: 50% 50%;
  638. }
  639. .hero--contain {
  640. -o-object-fit: contain;
  641. object-fit: contain;
  642. }
  643. .masonry {
  644. display: flex;
  645. flex-direction: column;
  646. flex-wrap: wrap;
  647. width: 100%;
  648. }
  649. .masonry__item {
  650. width: 33.3%;
  651. flex: 1;
  652. }