styles.css 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955
  1. /* fonts */
  2. @font-face {
  3. font-family: 'Miriam Libre';
  4. src: url('fonts/miriamlibre-bold.woff2') format('woff2'), url('fonts/miriamlibre-bold.woff') format('woff');
  5. font-weight: bold;
  6. font-style: normal;
  7. }
  8. *,
  9. *::before,
  10. *::after {
  11. font-family: inherit;
  12. background-color: inherit;
  13. color: inherit;
  14. margin: 0;
  15. padding: 0;
  16. box-sizing: border-box;
  17. }
  18. html {
  19. font-size: calc(1em + 0.33vw);
  20. font-family: PT Sans, sans-serif;
  21. line-height: 1.5;
  22. color: #111;
  23. background-color: #fefefe;
  24. }
  25. template {
  26. display: none !important;
  27. }
  28. * + * {
  29. margin-top: 2.25rem;
  30. }
  31. br,
  32. dt,
  33. dd,
  34. th,
  35. td,
  36. option,
  37. [hidden] + *,
  38. li + li,
  39. body,
  40. .main-and-footer {
  41. margin-top: 0;
  42. }
  43. p + p {
  44. margin-top: 0.75rem;
  45. }
  46. a {
  47. text-decoration: none;
  48. border-bottom: 1px solid;
  49. }
  50. abbr {
  51. text-decoration: none;
  52. cursor: help;
  53. border-bottom: 1px dashed;
  54. }
  55. img {
  56. max-width: 100%;
  57. }
  58. p img {
  59. margin: 0.75rem 0;
  60. }
  61. figure p img {
  62. margin: 0;
  63. }
  64. :focus:not([tabindex="-1"]),
  65. [data-expands]:focus svg,
  66. .patterns a:focus .text,
  67. [for="themer"] :focus + [aria-hidden] {
  68. outline: 4px solid #999;
  69. }
  70. a {
  71. outline-offset: 2px;
  72. }
  73. /* fix for IE :( */
  74. [tabindex="-1"]:focus,
  75. div:not([tabindex]):focus {
  76. outline: none;
  77. }
  78. [hidden] {
  79. display: none;
  80. }
  81. /* skip link */
  82. [href="#main"] {
  83. display: block;
  84. width: 100%;
  85. padding: 0.75rem;
  86. color: #fefefe;
  87. background: #000;
  88. position: absolute;
  89. top: -3rem;
  90. text-align: center;
  91. z-index: 1;
  92. }
  93. [href="#main"]:focus {
  94. top: 0;
  95. outline: none;
  96. }
  97. /* text styles */
  98. h1,
  99. h2,
  100. h3,
  101. h4 {
  102. font-family: Miriam Libre, serif;
  103. line-height: 1.125;
  104. }
  105. h1 {
  106. font-size: 2rem;
  107. }
  108. h2 {
  109. font-size: 1.66rem;
  110. }
  111. h3 {
  112. font-size: 1.25rem;
  113. }
  114. h4,
  115. h5 {
  116. font-size: 1rem;
  117. font-family: PT Sans, sans-serif;
  118. }
  119. h5 {
  120. font-size: 0.85rem;
  121. text-transform: uppercase;
  122. }
  123. kbd {
  124. line-height: 1;
  125. font-size: 0.66rem;
  126. padding: 0.1rem 0.33rem;
  127. border-radius: 0.25rem;
  128. border: 2px solid;
  129. box-shadow: 0.125rem 0.125rem 0 #111;
  130. vertical-align: 0.33em;
  131. }
  132. pre,
  133. .file-tree {
  134. overflow-x: auto;
  135. padding: 1.5rem;
  136. border: 1px solid;
  137. }
  138. code {
  139. font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
  140. font-size: 0.85em;
  141. }
  142. .cmd {
  143. padding: 0.75rem;
  144. background: #111;
  145. }
  146. .cmd code {
  147. color: #fefefe;
  148. white-space: nowrap;
  149. }
  150. .cmd code::before {
  151. content: '$';
  152. font-weight: bold;
  153. padding-right: 0.25em;
  154. }
  155. /* Lists */
  156. main ul,
  157. main ol {
  158. margin-left: 2.25rem;
  159. }
  160. main li + li {
  161. margin-top: 0.5rem;
  162. }
  163. main ul ul, main ol ol {
  164. margin-top: 0.5rem;
  165. }
  166. /* Blockquotes */
  167. blockquote {
  168. font-size: 0.85rem;
  169. font-style: italic;
  170. }
  171. /* Buttons */
  172. button {
  173. font-size: 1.25rem;
  174. border-radius: 0.33em;
  175. font-family: inherit;
  176. background: #111;
  177. color: #fefefe;
  178. padding: 0.75rem;
  179. border: 0;
  180. }
  181. [data-launch] {
  182. font-size: 0.75rem !important;
  183. margin-top: 0.75rem !important;
  184. padding: 0.5rem !important;
  185. border-radius: 0 !important;
  186. box-shadow: none !important;
  187. background: #111 !important;
  188. color: #fefefe !important
  189. }
  190. /* Forms */
  191. label {
  192. display: inline-block;
  193. font-weight: bold;
  194. }
  195. [for="themer"] {
  196. background: #111;
  197. border-radius: 0.33em;
  198. color: #fefefe;
  199. padding: 0.25em 0.75em;
  200. margin: 0.5rem;
  201. }
  202. [for="themer"] [aria-hidden]::before {
  203. content: 'off';
  204. }
  205. [for="themer"] :checked + [aria-hidden]::before {
  206. content: 'on';
  207. }
  208. /* Tables */
  209. table {
  210. text-align: left;
  211. table-layout: fixed;
  212. width: 100%;
  213. border-collapse: collapse;
  214. }
  215. th,
  216. td {
  217. border: 2px solid;
  218. padding: 0.5rem;
  219. line-height: 1.25;
  220. margin: 0;
  221. }
  222. th {
  223. font-weight: bold;
  224. }
  225. th:empty {
  226. border: 0;
  227. }
  228. /* Tested using... table */
  229. .tested {
  230. text-align: center;
  231. border: 1px solid #111;
  232. }
  233. .tested tr {
  234. display: flex;
  235. flex-flow: row wrap;
  236. }
  237. .tested td, .tested th {
  238. vertical-align: middle;
  239. overflow: hidden;
  240. flex: 1 0 auto;
  241. border: 1px solid #111;
  242. }
  243. .tested th {
  244. width: 100%;
  245. background-color: #111;
  246. color: #fefefe;
  247. outline-color: #111;
  248. }
  249. .tested img {
  250. max-width: 3rem;
  251. }
  252. .tested span {
  253. display: block;
  254. margin: 0;
  255. }
  256. .tested .additional {
  257. font-size: 0.85rem;
  258. }
  259. caption {
  260. font-size: 1.125rem;
  261. padding-bottom: 0.25rem;
  262. font-style: italic;
  263. }
  264. /* Page structure */
  265. .wrapper {
  266. position: relative;
  267. margin-top: 0;
  268. overflow-x: hidden;
  269. }
  270. .intro-and-nav {
  271. font-size: 0.8rem;
  272. width: 15rem;
  273. height: 100vh;
  274. position: fixed;
  275. top: 0;
  276. left: 0;
  277. border-right: 2px solid;
  278. }
  279. .intro-and-nav > div {
  280. padding: 2.25rem;
  281. display: flex;
  282. flex-direction: column;
  283. height: 100%;
  284. }
  285. .intro {
  286. flex: 0 0 auto;
  287. }
  288. .patterns {
  289. flex: 1 1 auto;
  290. }
  291. .logo {
  292. border: 0;
  293. }
  294. .logo img {
  295. width: 100%;
  296. max-width: 12rem;
  297. }
  298. .library-desc {
  299. margin-top: 0.5rem;
  300. margin-left: auto;
  301. margin-right: auto;
  302. max-width: 25rem;
  303. }
  304. .main-and-footer {
  305. margin-left: 15rem;
  306. }
  307. .main-and-footer > div {
  308. max-width: 40rem;
  309. margin: 0 auto;
  310. padding: 2.25rem;
  311. }
  312. [role="contentinfo"] {
  313. font-size: 0.85rem;
  314. margin-top: 4rem;
  315. text-align: center;
  316. }
  317. /* Patterns navigation */
  318. .patterns {
  319. overflow: auto;
  320. margin-top: 1.5rem;
  321. }
  322. .patterns * {
  323. margin-top: 0;
  324. }
  325. .patterns h3 {
  326. font-size: 1rem;
  327. }
  328. .patterns h3 + ul {
  329. margin-top: 0.75rem;
  330. }
  331. .patterns li {
  332. line-height: 1.125;
  333. list-style: none;
  334. }
  335. .patterns li + li {
  336. margin-top: 0.75rem;
  337. }
  338. .patterns ul ul {
  339. margin-left: 0.75rem;
  340. }
  341. .pattern a {
  342. border: 0;
  343. display: flex;
  344. flex-wrap: nowrap;
  345. align-items: baseline;
  346. font-weight: bold;
  347. }
  348. .pattern a:focus {
  349. outline: none;
  350. }
  351. .pattern span {
  352. margin-left: 0.125rem;
  353. }
  354. .pattern [aria-current] {
  355. background-color: #111;
  356. background-image: url(images/arrow_effect.svg);
  357. background-position: 98% center;
  358. background-size: 125%;
  359. background-repeat: no-repeat;
  360. color: #fefefe;
  361. padding: 0.5em 1em 0.5em;
  362. }
  363. /* menu button */
  364. #menu-button {
  365. display: none;
  366. width: 100%;
  367. text-align: center;
  368. }
  369. #menu-button:focus {
  370. outline: none;
  371. box-shadow: inset 0 0 0 0.25rem #999;
  372. }
  373. /* Tables of contents */
  374. .toc {
  375. font-size: 0.85rem;
  376. border: 1px solid;
  377. padding: 1.5rem;
  378. }
  379. .toc h2 {
  380. font-size: 1rem;
  381. }
  382. .toc ol {
  383. margin-left: 0.75rem;
  384. margin-top: 0.5rem;
  385. }
  386. /* Pattern lists */
  387. .patterns-list {
  388. list-style: none;
  389. margin-left: 0;
  390. }
  391. .patterns-list h2 {
  392. font-size: 1.25rem;
  393. }
  394. .patterns-list li + li {
  395. margin-top: 1rem;
  396. padding-top: 1rem;
  397. border-top: 2px solid;
  398. }
  399. .patterns-list a {
  400. border: 0;
  401. }
  402. /* Tags */
  403. .tags {
  404. margin-top: 0;
  405. font-size: 0.85rem;
  406. }
  407. .tags * {
  408. display: inline;
  409. margin: 0;
  410. }
  411. .tags strong {
  412. margin-right: 0.25rem;
  413. }
  414. .tags li {
  415. white-space: nowrap;
  416. margin: 0 0.25rem 0 0;
  417. }
  418. /* Notes and warnings */
  419. .note {
  420. border-left: 0.5rem solid;
  421. font-size: 0.85rem;
  422. }
  423. .note .sign {
  424. height: 2.25rem;
  425. width: 2.25rem;
  426. }
  427. .note > div {
  428. margin-left: 0.75rem;
  429. }
  430. .note > div > img:first-child {
  431. height: 1.5rem;
  432. }
  433. .note > div >:first-child + * {
  434. margin-top: 0;
  435. }
  436. .note.warning {
  437. border-left: 0;
  438. background-image: url(images/stripe.svg);
  439. background-size: 0.5rem auto;
  440. background-repeat: repeat-y;
  441. }
  442. .note.warning > div {
  443. margin-left: 1.25rem;
  444. }
  445. /* Tick lists */
  446. .ticks li {
  447. list-style: none;
  448. position: relative;
  449. }
  450. .ticks li::before {
  451. content: '';
  452. display: inline-block;
  453. width: 1rem;
  454. height: 1rem;
  455. margin-right: 0.25rem;
  456. background-image: url(images/icon-tick.svg);
  457. background-size: 100% auto;
  458. position: absolute;
  459. left: -1.25rem;
  460. top: 0.25rem;
  461. }
  462. /* Figures */
  463. figure {
  464. text-align: center;
  465. }
  466. figcaption {
  467. font-size: 0.85rem;
  468. font-style: italic;
  469. margin-top: 0.5rem;
  470. }
  471. main {
  472. display: block;
  473. counter-reset: fig;
  474. min-height: 100vh;
  475. }
  476. figcaption::before {
  477. counter-increment: fig;
  478. content: 'Figure ' counter(fig) ':\0020';
  479. font-weight: bold;
  480. }
  481. /* Code blocks */
  482. pre[class*=language-] {
  483. background: none;
  484. margin-top: 2.25rem;
  485. margin-bottom: 0;
  486. overflow-y: hidden;
  487. overflow-x: auto;
  488. }
  489. code[class*="language-"], pre[class*="language-"] {
  490. text-shadow: none;
  491. filter: grayscale(100%);
  492. }
  493. pre[class*=language-][data-line] {
  494. padding: 1em 0 0 2.25rem;
  495. }
  496. pre[class*=language-] code * {
  497. margin-top: 0 !important;
  498. }
  499. [data-codeblock-shortcode], .code-annotated code {
  500. display: inline-block;
  501. margin-top: -1rem;
  502. }
  503. .code-annotated {
  504. overflow-y: hidden;
  505. overflow-x: auto;
  506. padding: 1.5rem;
  507. border: 1px solid;
  508. white-space: pre;
  509. counter-reset: annotation;
  510. }
  511. .highlight {
  512. background: #ddd;
  513. padding: 0.0625rem 0.33rem;
  514. border-radius: 0.5rem;
  515. }
  516. .numbered .highlight::after,
  517. .code-annotated.numbered + ol li::before {
  518. counter-increment: annotation;
  519. content: counter(annotation);
  520. font-weight: bold;
  521. font-size: 0.5rem;
  522. background: #111;
  523. color: #fefefe;
  524. border-radius: 1rem;
  525. margin-left: 0.25rem;
  526. padding: 0.125em 0.5em;
  527. vertical-align: 0.33em;
  528. }
  529. .code-annotated.numbered + ol {
  530. list-style: none;
  531. counter-reset: annotation;
  532. }
  533. .code-annotated.numbered + ol li::before {
  534. font-size: 0.66em;
  535. margin-right: 0.33em;
  536. vertical-align: 0.25em;
  537. }
  538. /* file tree lists */
  539. .file-tree {
  540. overflow-x: auto;
  541. }
  542. .file-tree ul {
  543. font-family: Courier, monospace;
  544. margin: 0;
  545. padding: 0;
  546. padding-left: 3rem;
  547. list-style: none;
  548. line-height: 1.25;
  549. position: relative;
  550. }
  551. .file-tree > ul {
  552. padding-left: 0;
  553. overflow-x: auto;
  554. overflow-y: hidden;
  555. }
  556. .file-tree li {
  557. background: #fefefe;
  558. position: relative;
  559. white-space: nowrap;
  560. }
  561. .file-tree li + li {
  562. margin-top: 0;
  563. }
  564. .file-tree li:not(:last-child) > ul::before {
  565. content: '\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020';
  566. position: absolute;
  567. left: 0;
  568. top: 0;
  569. bottom: 0;
  570. width: 1em;
  571. white-space: normal;
  572. }
  573. .file-tree li::before {
  574. content: '\251C\2500\2500\0020';
  575. }
  576. .file-tree li:last-child::before {
  577. content: '\2514\2500\2500\0020';
  578. }
  579. /* Expandable sections */
  580. .expandable-section {
  581. border-top: 1px solid;
  582. border-bottom: 1px solid;
  583. padding: 0.75rem 0;
  584. }
  585. [id^="js-expandable-"] {
  586. margin: 0;
  587. padding: 1.5rem 0 0.75rem;
  588. }
  589. @media screen {
  590. .expandable-section + .expandable-section {
  591. margin-top: 0;
  592. border-top: 0;
  593. }
  594. }
  595. [data-expands] {
  596. text-align: left;
  597. color: #111;
  598. border: 0;
  599. background: none;
  600. width: 100%;
  601. padding: 0;
  602. margin: 0;
  603. display: flex;
  604. align-items: center;
  605. justify-content: space-between;
  606. cursor: pointer;
  607. }
  608. [data-expands] svg {
  609. margin-top: 0;
  610. width: 1em;
  611. height: 1em;
  612. }
  613. [data-expands][aria-expanded="true"] svg .up-strut {
  614. display: none;
  615. }
  616. [data-expands]:focus {
  617. outline: none;
  618. }
  619. p:empty {
  620. display: none;
  621. }
  622. *:not(p) + p:empty + p {
  623. margin-top: 2.25rem;
  624. }
  625. /* WCAG and principles */
  626. .wcag li {
  627. font-size: 0.85em;
  628. }
  629. .principles p {
  630. font-size: 0.85rem;
  631. margin-top: 0.75rem;
  632. }
  633. .principles.with-desc > li + li,
  634. .wcag.with-desc > li + li {
  635. border-top: 1px solid;
  636. margin-top: 0.75rem;
  637. padding-top: 0.75rem;
  638. }
  639. /* Site errors */
  640. .site-error {
  641. padding: 1.5rem;
  642. background: #efefef;
  643. }
  644. .site-error strong {
  645. color: #C83737;
  646. }
  647. /* SVG icons */
  648. a svg,
  649. button svg,
  650. h1 svg,
  651. th svg,
  652. li > svg {
  653. height: 0.75em;
  654. width: 0.75em;
  655. margin-right: 0.25em;
  656. }
  657. h1 svg {
  658. margin-right: 0;
  659. width: 0.85em;
  660. height: 0.85em;
  661. }
  662. .wcag-icon {
  663. width: 1.25em;
  664. }
  665. .bookmark-icon {
  666. vertical-align: middle;
  667. }
  668. .link-icon {
  669. width: 0.75em;
  670. height: 0.75em;
  671. }
  672. .tags svg, .link-icon {
  673. vertical-align: middle;
  674. }
  675. .balloon-icon {
  676. width: 0.75em;
  677. margin-right: 0;
  678. }
  679. .print {
  680. white-space: nowrap;
  681. font-style: normal;
  682. }
  683. /* Color palettes */
  684. .colors {
  685. display: flex;
  686. height: 5rem;
  687. margin: -0.25rem;
  688. list-style: none;
  689. flex-wrap: nowrap;
  690. }
  691. .colors li {
  692. margin: 0.25rem;
  693. flex: 1 0 auto;
  694. position: relative;
  695. }
  696. .colors span {
  697. line-height: 1;
  698. background-color: #111;
  699. color: #fefefe;
  700. font-size: 0.75rem;
  701. padding: 0.25rem;
  702. position: absolute;
  703. bottom: 0.25rem;
  704. right: 0.25rem;
  705. }
  706. /* cross references */
  707. .pattern-link {
  708. font-weight: bold;
  709. }
  710. /* inline demos */
  711. .demo-inner {
  712. border-top: 1px solid;
  713. border-bottom: 1px solid;
  714. padding: 1.5rem 0 0;
  715. text-align: right;
  716. }
  717. [id^="js-demo-"] {
  718. all: initial;
  719. display: block;
  720. }
  721. /* Section links */
  722. .h2-container {
  723. position: relative;
  724. font-size: 1.66rem;
  725. }
  726. .h2-container a {
  727. position: absolute;
  728. margin-top: 0;
  729. top: 0;
  730. line-height: 1;
  731. left: -1em;
  732. border: 0;
  733. }
  734. /* Single page layout */
  735. .wrapper.print-version .main-and-footer {
  736. margin-left: 0;
  737. }
  738. .wrapper.print-version .intro-and-nav {
  739. position: static;
  740. border: 0;
  741. width: auto;
  742. text-align: center;
  743. display: flex;
  744. align-items: center;
  745. justify-content: center;
  746. }
  747. .wrapper.print-version main {
  748. min-height: 0;
  749. }
  750. .wrapper.print-version .library-desc {
  751. font-size: 1rem;
  752. }
  753. .wrapper.print-version .intro-and-nav > div {
  754. height: auto;
  755. }
  756. .wrapper.print-version #patterns-list {
  757. margin-left: 0;
  758. margin-top: 1.5rem;
  759. display: block;
  760. }
  761. .wrapper.print-version .toc {
  762. font-size: 1rem;
  763. }
  764. .wrapper.print-version .toc h2 {
  765. font-size: 1.66rem;
  766. }
  767. .wrapper.print-version #patterns-list h3 {
  768. font-size: 1.25rem;
  769. }
  770. .wrapper.print-version .patterns {
  771. margin-top: 0;
  772. }
  773. .pattern-section:not(:last-child) {
  774. padding-bottom: 2.25rem;
  775. border-bottom: 2px solid;
  776. }
  777. .pattern-section h1 {
  778. padding: 0 !important;
  779. }
  780. /* Custom 404 */
  781. .custom-404 {
  782. text-align: center;
  783. }
  784. .custom-404 * {
  785. margin: 0;
  786. }
  787. .custom-404 svg {
  788. max-width: 100%;
  789. }
  790. /* Utilities */
  791. .vh {
  792. clip: rect(1px, 1px, 1px, 1px);
  793. height: 1px;
  794. overflow: hidden;
  795. position: absolute;
  796. white-space: nowrap;
  797. width: 1px;
  798. }
  799. @media screen and (max-width: 45em) {
  800. body a {
  801. hyphens: auto;
  802. }
  803. [role="banner"] {
  804. position: static;
  805. width: auto;
  806. height: auto;
  807. }
  808. .intro {
  809. text-align: center;
  810. }
  811. .intro-and-nav > div {
  812. padding: 1.5rem;
  813. }
  814. .main-and-footer {
  815. margin: 0;
  816. }
  817. main {
  818. min-height: auto;
  819. }
  820. .patterns h3 {
  821. font-size: 1.125rem;
  822. border-top: 4px solid;
  823. border-bottom: 4px solid;
  824. padding: 0.75rem 0;
  825. }
  826. .patterns li:not(.pattern) {
  827. margin-top: 0;
  828. }
  829. .patterns ul ul {
  830. margin: 0;
  831. }
  832. .patterns li {
  833. margin-top: 0;
  834. }
  835. .pattern {
  836. font-size: 1rem;
  837. }
  838. .pattern a {
  839. padding: 0.75rem 0;
  840. }
  841. .pattern [aria-current] {
  842. background-image: none;
  843. }
  844. .pattern + .pattern {
  845. border-top: 1px solid;
  846. margin-top: 0;
  847. }
  848. #menu-button {
  849. display: block;
  850. }
  851. #patterns-list {
  852. display: none;
  853. }
  854. .toc-link {
  855. display: none;
  856. }
  857. [aria-expanded="true"] + #patterns-list {
  858. display: block;
  859. }
  860. code {
  861. word-break: break-all;
  862. }
  863. }
  864. @media print {
  865. .wrapper:not(.print-version) .intro-and-nav,
  866. .wrapper:not(.print-version) [role="contentinfo"] {
  867. display: none;
  868. }
  869. .main-and-footer {
  870. margin-left: 0;
  871. }
  872. a {
  873. border: 0;
  874. }
  875. main a::after {
  876. content: " (" attr(href) ")";
  877. word-break: break-word;
  878. }
  879. main nav a::after {
  880. content: '';
  881. }
  882. .cmd code {
  883. background: #fefefe;
  884. color: #111;
  885. }
  886. pre code {
  887. white-space: pre-wrap !important;
  888. }
  889. .expandable-section {
  890. border: 0;
  891. padding: 0;
  892. }
  893. .expandable-section + p {
  894. margin-top: 0.75rem;
  895. }
  896. [id^="js-expandable-"] {
  897. display: block;
  898. }
  899. [data-expands] svg {
  900. display: none;
  901. }
  902. main *:not(.with-desc) {
  903. page-break-inside: avoid;
  904. }
  905. .note.warning {
  906. border-left: 0.5rem solid;
  907. background: none;
  908. }
  909. }
  910. @media (-ms-high-contrast: active) {
  911. img[src*=".svg"] {
  912. background: #fefefe;
  913. padding: 0.5rem;
  914. }
  915. .ticks li::before {
  916. content: '✓';
  917. background: none;
  918. width: auto;
  919. top: 0;
  920. }
  921. .note.warning {
  922. border-left: 0.5rem solid;
  923. background: none;
  924. }
  925. }