html{font-size:100%;line-height:1.15}@font-face{font-family:opensans;src:url(/fonts/Open_Sans/OpenSans-VariableFont_wdth,wght.ttf)}@font-face{font-family:opensansitalic;src:url(/fonts/Open_Sans/OpenSans-Italic-VariableFont_wdth,wght.ttf)}@font-face{font-family:charmregular;src:url(/fonts/Charm/Charm-Regular.ttf)}.charm-regular{font-family:charmregular,cursive;letter-spacing:.05rem}@media(min-width:566px){img.northcoder-logo{width:50px;height:50px;transition:width .4s ease-in-out,height .4s ease-in-out}.header-left .logo-sitename a{transition:font-size .4s ease-in-out}}@media(max-width:565px){img.northcoder-logo{width:30px;height:30px;transition:width .4s ease-in-out,height .4s ease-in-out}.header-menu{font-size:.9rem}h1.charm-regular.welcome-banner{font-size:2rem}.charm-regular.subtitle{font-size:1.2rem}.header-left .logo-sitename a{font-size:1.3rem;transition:font-size .4s ease-in-out}ul,ol{padding-left:30px}}@media(max-width:719px){body{font-size:14px}}body{font-family:opensans,sans-serif,system-ui;font-optical-sizing:auto;font-weight:400;font-style:normal;font-variation-settings:"wdth" 100;background:#e4ebe5;margin:0 10px;padding:0;line-height:1.5;box-sizing:inherit}.body-container{width:100%;max-width:780px;margin:10px auto;padding:4px;background-color:#fff}.body-wrapper{display:grid;row-gap:5px;grid-template-areas:"header" "content" "footer";padding:0 10px}.body-header{grid-area:header;background-color:#e4ebe5;border-radius:0 5px 5px 0;margin:10px 0;font-size:20px}.header-left{display:flex;align-items:center}.logo-sitename{padding-left:5px;font-size:2.2rem}.logo-sitename a{color:#3d4849}.logo-sitename a:hover{color:#1779ba;text-decoration:underline #1779ba}.header-content{display:flex;align-items:center;justify-content:space-between;font-size:smaller;line-height:.8rem}.header-content a{text-decoration:none}.header-content a:hover{text-decoration:underline}.header-menu{margin-right:5px}.header-menu a{color:#3d4849}.header-menu a:hover{color:#1779ba;text-decoration:underline #1779ba}.menu-spacer{margin-right:5px}.body-content{grid-area:content;color:#3d4849;margin:0 5px;word-wrap:break-word}.body-footer{grid-area:footer;border-radius:5px;background-color:#e4ebe5;color:#444;padding:10px;margin:10px 0}.body-footer>div{text-align:center;font-size:smaller}.page-metadata{font-size:smaller;display:flex;align-items:center}.page-newer-older{display:flex;align-items:center;justify-content:space-between}.page-title-newer-older{display:grid;grid-template-columns:auto auto;grid-auto-flow:column;align-items:center;gap:20px}.page-title-older{text-align:right}hr.narrow-hr{margin:0 0 10px}hr.narrow-hr-end{margin:10px 0 5px}.home-page-content{padding-bottom:.25rem}.home-page-section h3{margin:.5rem 0 0}.home-page-section h3 a{text-decoration:none;color:#3d4849}.home-page-section h3 a:hover{color:#1779ba;text-decoration:underline #1779ba}.home-page-section .date{padding-bottom:.5rem;font-size:smaller}.home-page-section .summary{padding-bottom:.25rem}.home-page-section hr{margin:.75rem auto}.home-page-section .read-more{font-size:.9rem}a{text-decoration:underline}a:hover{text-decoration:underline;text-decoration-thickness:2px}em a,.page-newer-older a,.listing-post-title a,.northcoder-toc a,a.no-decoration,span.taxon-term>a{text-decoration:none}em a:hover,.page-newer-older a:hover,.listing-post-title a:hover,.northcoder-toc a:hover,a.no-decoration:hover,span.taxon-term:hover>a{text-decoration:underline}.md-content h1:not(:hover) .anchor-link,.md-content h2:not(:hover) .anchor-link,.md-content h3:not(:hover) .anchor-link,.md-content h4:not(:hover) .anchor-link,.md-content h5:not(:hover) .anchor-link,.md-content h6:not(:hover) .anchor-link{display:none}.toc-level-1{margin-left:0;font-size:1rem}.toc-level-2{margin-left:1rem;font-size:1rem}.toc-level-3{margin-left:2rem;font-size:1rem}.toc-level-4{margin-left:3rem;font-size:.9rem}.toc-level-5{margin-left:4rem;font-size:.9rem}.body-content img{display:inline-block;max-width:100%}.footer-content{display:flex;flex-direction:column;justify-content:center}.northcoder-toc{display:flex;flex-direction:column}.welcome-banner-container{display:flex;flex-direction:column;justify-content:center;padding:10px;margin:10px;color:#fff;background:#225e4d;border-radius:5px}.welcome-banner{font-size:2.8rem;line-height:1.1;text-align:center}.subtitle{text-align:center;font-size:1.5rem}h1,h2,h3,h4,h5,h6{line-height:1.4;margin-top:0;margin:.5rem 0;font-style:normal;font-weight:400;color:inherit;text-rendering:optimizeLegibility}h1.charm-regular,h2.charm-regular,h3.charm-regular{font-size:2.2rem;line-height:1}h1,h2,h3,h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}a{line-height:inherit;color:#1779ba;text-decoration:none;cursor:pointer}.body-content{overflow:auto}h3.charm-regular{letter-spacing:.05rem}hr{clear:both;max-width:75rem;height:0;margin:1.25rem auto;border-top:0;border-right:0;border-bottom:1px solid #cacaca;border-left:0}table{border-collapse:collapse;width:100%;margin-bottom:1rem;border-radius:0}tbody,tfoot,thead{border:1px solid #f1f1f1;background-color:#fefefe}thead tr th,tbody td{padding:.5rem .625rem .625rem}table.north-table,table.north-table tbody tr,table.north-table th,table.north-table td{border:1px solid #d3d3d3;border-collapse:collapse;background-color:transparent;line-height:1.4}table.north-table td.cell-mid{text-align:center}blockquote{border-left:3px solid #dcdddd}@media(min-width:566px){blockquote{padding:0 50px 0 10px;margin-left:30px}}@media(max-width:565px){blockquote{padding:0 10px;margin-left:15px}}.md-content pre{overflow:auto;padding:3px 0 10px;margin:5px 0}code:not(.highlight *){font-family:monospace;color:#040404;background-color:#eee;padding:1px 5px}a code:not(.highlight *){color:#1779ba}@media(min-width:566px){code:not(.highlight *){font-size:14px}}@media(max-width:565px){code:not(.highlight *){font-size:13px}}pre>code:not(.highlight *){line-height:1}.code-block-container{display:flex;flex-direction:column;margin-bottom:16px}.highlight{border-top:1px solid #eee8d5;border-right:1px solid #eee8d5;border-bottom:1px solid #eee8d5}.code-block-language{font-family:monospace;font-size:13px;background-color:#e6e0cc;padding:3px 0 3px 6px}.highlight{overflow:auto}.highlight table{border-collapse:unset}.highlight pre{font-size:13px;margin:0;padding:6px}.highlight td:nth-child(2) pre{background-color:#fffdf8!important}.callout-container{display:flex;align-items:center;gap:5px;border:2px solid #dcdddd}@media(min-width:566px){.callout-container{margin:20px 60px 20px 20px;padding:0 30px 0 0}}@media(max-width:565px){.callout-container{margin:10px 0;padding:0 10px 0 0}}.callout-warning{padding:20px 0 0 20px;height:65px;width:65px}.callout-info{padding:20px;height:45px;width:45px}.callout-tip{padding:20px;height:65px;width:65px}.taxon-container{display:flex;flex-wrap:wrap;row-gap:10px;column-gap:5px}.taxon-container.by-frequency{column-gap:15px}.taxon-term{color:#005080;background-color:#ebebeb;border-radius:5px;padding:1px 6px 3px;margin:0 5px 5px 0}.taxon-term-count{font-size:.75rem;color:#222;background-color:#fff;padding:0 3px}.taxon-smaller{font-size:smaller;padding:6px 0}.search-container{display:flex;align-items:center;gap:10px;font-size:larger;padding:15px 0 5px}#results{padding-top:6px;padding-bottom:12px}.listing-container{padding-top:6px;padding-bottom:12px}@media(min-width:566px){.page-listing{display:grid;grid-template-columns:min-content auto;row-gap:10px;column-gap:15px;align-items:center;padding-left:10px}.listing-post-time{white-space:nowrap;text-align:end}}@media(max-width:565px){.page-listing{display:grid;grid-template-columns:auto;row-gap:0;column-gap:15px;align-items:center;padding-top:0;padding-left:0}.listing-post-time{white-space:nowrap;text-align:start}.listing-post-title{padding-bottom:10px}}.center-shortcode{display:grid;place-items:center;text-align:center}a[rel=noopener]::after,a[rel="nofollow noopener"]::after{content:url(/css/external_link.svg);margin-left:3px}.footnotes{font-size:smaller}.footnotes hr{margin:1rem auto}.footnotes>ol::before{content:"Footnotes";margin-left:-1rem}.unicode-content{font-size:200px;margin:10px;padding:10px}.unicode-name{font-family:sans-serif;font-size:14px;padding-left:10px}