/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/ html { line-height: 1.15; -webkit-text-size-adjust: 100%; } body { margin: 0; } main { display: block; } .anchor {display:none;} .glossary {display: inline;} h1 { font-size: 2em; margin: 0.67em 0; } hr { box-sizing: content-box; height: 0; overflow: visible; } pre { font-family: monospace, monospace; font-size: 1em; } a { background-color: transparent; } abbr[title] { border-bottom: none; text-decoration: underline; text-decoration: underline dotted; } b, strong { font-weight: bolder; } code, kbd, samp { font-family: monospace, monospace; font-size: 1em; } small { font-size: 80%; } sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sub { bottom: -0.25em; } sup { top: -0.5em; } img { border-style: none; } button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0; } button, input { overflow: visible; } button, select { text-transform: none; } button, [type=button], [type=reset], [type=submit] { -webkit-appearance: button; } button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner { border-style: none; padding: 0; } button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring { outline: 1px dotted ButtonText; } fieldset { padding: 0.35em 0.75em 0.625em; } legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; } progress { vertical-align: baseline; } textarea { overflow: auto; } [type=checkbox], [type=radio] { box-sizing: border-box; padding: 0; } [type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button { height: auto; } [type=search] { -webkit-appearance: textfield; outline-offset: -2px; } [type=search]::-webkit-search-decoration { -webkit-appearance: none; } ::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; } details { display: block; } summary { display: list-item; } template { display: none; } [hidden] { display: none; } .flex { display: flex; } .flex-auto { flex: 1 1 auto; } .flex-even { flex: 1 1; } .flex-wrap { flex-wrap: wrap; } .justify-start { justify-content: flex-start; } .justify-end { justify-content: flex-end; } .justify-center { justify-content: center; } .justify-between { justify-content: space-between; } .align-center { align-items: center; } .mx-auto { margin: 0 auto; } .text-center { text-align: center; } .text-left { text-align: left; } .text-right { text-align: right; } .hidden { display: none; } input.toggle { height: 0; width: 0; overflow: hidden; opacity: 0; position: absolute; } .clearfix::after { content: ""; display: table; clear: both; } html { font-size: 16px; scroll-behavior: smooth; touch-action: manipulation; } body { min-width: 20rem; letter-spacing: 0.33px; font-weight: 400; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; box-sizing: border-box; } body * { box-sizing: inherit; } h1, h2, h3, h4, h5 { font-weight: 400; } a { text-decoration: none; } img { vertical-align: baseline; } :focus { outline-style: auto; outline-color: currentColor; outline-color: -webkit-focus-ring-color; } aside nav ul { padding: 0; margin: 0; list-style: none; } aside nav ul li { margin: 1em 0; position: relative; } aside nav ul a { display: block; } aside nav ul a:hover { opacity: 0.5; } aside nav ul ul { padding-inline-start: 1rem; } ul.pagination { display: flex; justify-content: center; list-style-type: none; } ul.pagination .page-item a { padding: 1rem; } .container { max-width: 80rem; margin: 0 auto; } .book-brand { margin-top: 0; display:none; } .book-brand img { height: 1.5em; width: auto; vertical-align: middle; margin-inline-end: 0.5rem; } .book-menu { flex: 0 0 16rem; font-size: 0.875rem; display:none; } .book-menu nav { width: 16rem; padding: 1rem; position: fixed; top: 0; bottom: 0; overflow-x: hidden; overflow-y: auto; } .book-menu a, .book-menu label { color: inherit; cursor: pointer; word-wrap: break-word; } .book-menu input.toggle + label + ul { display: none; } .book-menu input.toggle:checked + label + ul { display: block; } .book-section-flat { margin-bottom: 2rem; display:none; } .book-section-flat:not(:first-child) { margin-top: 2rem; } .book-section-flat > a, .book-section-flat > span, .book-section-flat > label { font-weight: bolder; } .book-section-flat > ul { padding-inline-start: 0; } .book-page { min-width: 20rem; flex-grow: 1; padding: 1rem; } .book-post { margin-bottom: 3rem; } .book-header { margin-bottom: 1rem; } .book-header label { line-height: 0; } .book-search { position: relative; margin: 1rem 0; border-bottom: 1px solid transparent; } .book-search input { width: 100%; padding: 0.5rem; border: 0; border-radius: 0.25rem; } .book-search input:required + .book-search-spinner { display: block; } .book-search .book-search-spinner { position: absolute; top: 0; margin: 0.5rem; margin-inline-start: calc(100% - 1.5rem); width: 1rem; height: 1rem; border: 1px solid transparent; border-radius: 50%; animation: spin 1s ease infinite; } @keyframes spin { 100% { transform: rotate(360deg) } } .book-search small { opacity: 0.5; } .book-toc { flex: 0 0 16rem; font-size: 0.75rem; } .book-toc nav { width: 16rem; padding: 1rem; position: fixed; top: 0; bottom: 0; overflow-x: hidden; overflow-y: auto; } .book-toc img { height: 1em; } .book-toc nav > ul > li:first-child { margin-top: 0; } .book-footer { padding-top: 1rem; font-size: 0.875rem; } .book-footer img { height: 1em; margin-inline-end: 0.5rem; } .book-comments { margin-top: 1rem; } .book-languages { display:none; position: relative; overflow: visible; padding: 1rem; margin: -1rem; } .book-languages ul { margin: 0; padding: 0; list-style: none; } .book-languages ul li { white-space: nowrap; cursor: pointer; } .book-languages:hover .book-languages-list, .book-languages:focus .book-languages-list, .book-languages:focus-within .book-languages-list { display: block; } .book-languages .book-languages-list { display: none; position: absolute; bottom: 100%; left: 0; padding: 0.5rem 0; box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.1); } .book-languages .book-languages-list li img { opacity: 0.25; } .book-languages .book-languages-list li.active img, .book-languages .book-languages-list li:hover img { opacity: initial; } .book-languages .book-languages-list a { color: inherit; padding: 0.5rem 1rem; } .book-home { padding: 1rem; } header {display:none;} aside nav, .book-page, .book-header aside, .markdown { transition: 0.2s ease-in-out; transition-property: transform, margin, opacity, visibility; will-change: transform, margin, opacity; } @media screen and (max-width: 56rem) { #menu-control, #toc-control { display: inline; } .book-menu { visibility: hidden; margin-inline-start: -16rem; font-size: 16px; z-index: 1; } .book-toc { display: none; } .book-header { display: block; } #menu-control:focus ~ main label[for=menu-control] { outline-style: auto; outline-color: currentColor; outline-color: -webkit-focus-ring-color; } #menu-control:checked ~ main .book-menu { visibility: initial; } #menu-control:checked ~ main .book-menu nav { transform: translatex(16rem); box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1); } #menu-control:checked ~ main .book-page { opacity: 0.25; } #menu-control:checked ~ main .book-menu-overlay { display: block; position: absolute; top: 0; bottom: 0; left: 0; right: 0; } #toc-control:focus ~ main label[for=toc-control] { outline-style: auto; outline-color: currentColor; outline-color: -webkit-focus-ring-color; } #toc-control:checked ~ main .book-header aside { display: block; } body[dir=rtl] #menu-control:checked + main .book-menu nav { transform: translatex(-16rem); } } @media screen and (min-width: 80rem) { .book-page, .book-menu nav, .book-toc nav { padding: 2rem 1rem; } } @font-face { font-family: roboto; font-style: italic; font-weight: 300; font-display: swap; src: local("Roboto Light Italic"), local("Roboto-LightItalic"), url(roboto-v19-latin-300italic.woff2) format("woff2"), url(roboto-v19-latin-300italic.woff) format("woff"); } @font-face { font-family: roboto; font-style: normal; font-weight: 400; font-display: swap; src: local("Roboto"), local("Roboto-Regular"), url(roboto-v19-latin-regular.woff2) format("woff2"), url(roboto-v19-latin-regular.woff) format("woff"); } @font-face { font-family: roboto; font-style: normal; font-weight: 700; font-display: swap; src: local("Roboto Bold"), local("Roboto-Bold"), url(roboto-v19-latin-700.woff2) format("woff2"), url(roboto-v19-latin-700.woff) format("woff"); } @font-face { font-family: roboto mono; font-style: normal; font-weight: 400; font-display: swap; src: local("Roboto Mono"), local("RobotoMono-Regular"), url(roboto-mono-v6-latin-regular.woff2) format("woff2"), url(roboto-mono-v6-latin-regular.woff) format("woff"); } body { font-family: roboto, sans-serif; } code { font-family: roboto mono, monospace; } @media print { .book-menu, .book-footer, .book-toc { display: none; } .book-header, .book-header aside { display: block; } main { display: block !important; } } .markdown { line-height: 1.6; } .markdown > :first-child { margin-top: 0; } .markdown h1, .markdown h2, .markdown h3, .markdown h4, .markdown h5, .markdown h6 { font-weight: 400; line-height: 1; margin-top: 1.5em; margin-bottom: 1rem; } .markdown h1 a.anchor, .markdown h2 a.anchor, .markdown h3 a.anchor, .markdown h4 a.anchor, .markdown h5 a.anchor, .markdown h6 a.anchor { opacity: 0; font-size: 0.75em; vertical-align: middle; text-decoration: none; } .markdown h1:hover a.anchor, .markdown h1 a.anchor:focus, .markdown h2:hover a.anchor, .markdown h2 a.anchor:focus, .markdown h3:hover a.anchor, .markdown h3 a.anchor:focus, .markdown h4:hover a.anchor, .markdown h4 a.anchor:focus, .markdown h5:hover a.anchor, .markdown h5 a.anchor:focus, .markdown h6:hover a.anchor, .markdown h6 a.anchor:focus { opacity: initial; } .markdown h4, .markdown h5, .markdown h6 { font-weight: bolder; } .markdown h5 { font-size: 0.875em; } .markdown h6 { font-size: 0.75em; } .markdown b, .markdown optgroup, .markdown strong { font-weight: bolder; } .markdown a { text-decoration: none; } .markdown a:hover { text-decoration: underline; } .markdown img { max-width: 100%; } .markdown code { padding: 0 0.25rem; border-radius: 0.25rem; font-size: 0.875em; } .markdown pre { padding: 1rem; border-radius: 0.25rem; overflow-x: auto; } .markdown pre code { padding: 0; background: 0 0; } .markdown blockquote { margin: 1rem 0; padding: 0.5rem 1rem 0.5rem 0.75rem; border-radius: 0.25rem; } .markdown blockquote :first-child { margin-top: 0; } .markdown blockquote :last-child { margin-bottom: 0; } .markdown table { overflow: auto; display: block; border-spacing: 0; border-collapse: collapse; margin-top: 1rem; margin-bottom: 1rem; } .markdown table tr th, .markdown table tr td { padding: 0.5rem 1rem; } .markdown hr { height: 1px; border: none; } .markdown ul, .markdown ol { padding-inline-start: 2rem; } .markdown dl dt { font-weight: bolder; margin-top: 1rem; } .markdown dl dd { margin-inline-start: 1rem; margin-bottom: 1rem; } .markdown .highlight table tr td:nth-child(1) pre { margin: 0; padding-inline-end: 0; } .markdown .highlight table tr td:nth-child(2) pre { margin: 0; padding-inline-start: 0; } .markdown details { padding: 1rem; border-radius: 0.25rem; } .markdown details summary { line-height: 1; padding: 1rem; margin: -1rem; cursor: pointer; } .markdown details[open] summary { margin-bottom: 0; } .markdown figure { margin: 1rem 0; } .markdown figure figcaption p { margin-top: 0; } .markdown-inner > :first-child { margin-top: 0; } .markdown-inner > :last-child { margin-bottom: 0; } .markdown .book-expand { margin-top: 1rem; margin-bottom: 1rem; border-radius: 0.25rem; overflow: hidden; } .markdown .book-expand .book-expand-head { padding: 0.5rem 1rem; cursor: pointer; } .markdown .book-expand .book-expand-content { display: none; padding: 1rem; } .markdown .book-expand input[type=checkbox]:checked + .book-expand-content { display: block; } .markdown .book-tabs { margin-top: 1rem; margin-bottom: 1rem; border-radius: 0.25rem; overflow: hidden; display: flex; flex-wrap: wrap; } .markdown .book-tabs label { display: inline-block; padding: 0.5rem 1rem; border-bottom: 1px transparent; cursor: pointer; } .markdown .book-tabs .book-tabs-content { order: 999; width: 100%; padding: 1rem; display: none; } .markdown .book-tabs input[type=radio]:checked + label + .book-tabs-content { display: block; } .markdown .book-tabs input[type=radio]:focus + label { outline-style: auto; outline-color: currentColor; outline-color: -webkit-focus-ring-color; } .markdown .book-columns { margin-left: -1rem; margin-right: -1rem; } .markdown .book-columns > div { margin: 1rem 0; min-width: 10rem; padding: 0 1rem; } .markdown a.book-btn { display: inline-block; font-size: 0.875rem; line-height: 2rem; padding: 0 1rem; border-radius: 0.25rem; cursor: pointer; } .markdown a.book-btn:hover { text-decoration: none; } .markdown .book-hint.info { border-color: #6bf; background-color: rgba(102, 187, 255, 0.1); } .markdown .book-hint.warning { border-color: #fd6; background-color: rgba(255, 221, 102, 0.1); } .markdown .book-hint.danger { border-color: #f66; background-color: rgba(255, 102, 102, 0.1); } .tailsbanner { background: #56347c; margin-inline-end: 0; margin-inline-start: 0; } .tailsbanner img { margin-inline-start: 30px; margin-bottom: 5px; margin-top: 5px; } .borderimage { margin-inline-start: 0; } .borderimage img { border: 1px solid; }