styles.css 17 KB

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