Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/panr/hugo-theme-hello-friend.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenHV <yo@kenharris.xyz>2021-11-26 18:57:50 +0300
committerKenHV <yo@kenharris.xyz>2022-01-24 17:32:45 +0300
commitd32455142de799aca80e4940e8f7d9659f17075e (patch)
treeb2e1af6127a9c5183ee99819eec4eb7382ee86be
parentc37f1b6591fdbf0c152a8e64c3fcf20ccbbf7143 (diff)
Add anchors to headings
Signed-off-by: KenHV <yo@kenharris.xyz>
-rw-r--r--assets/css/main.css16
-rw-r--r--layouts/_default/_markup/render-heading.html4
-rw-r--r--static/assets/style.css2
3 files changed, 21 insertions, 1 deletions
diff --git a/assets/css/main.css b/assets/css/main.css
index d67be6e..04a2ff8 100644
--- a/assets/css/main.css
+++ b/assets/css/main.css
@@ -272,3 +272,19 @@ blockquote.twitter-tweet {
line-height: inherit;
border-radius: 8px;
}
+
+.h-anchor {
+ visibility: hidden;
+ opacity: 0;
+ transition: visibility 0s linear 0.1s, opacity 0.1s linear;
+ margin-left: 1px;
+}
+
+h1:hover a,
+h2:hover a,
+h3:hover a,
+h4:hover a {
+ visibility: visible;
+ opacity: 1;
+ transition-delay: 0s;
+}
diff --git a/layouts/_default/_markup/render-heading.html b/layouts/_default/_markup/render-heading.html
new file mode 100644
index 0000000..8e9160a
--- /dev/null
+++ b/layouts/_default/_markup/render-heading.html
@@ -0,0 +1,4 @@
+<h{{ .Level }} id="{{ .Anchor | safeURL }}">
+ {{ .Text | safeHTML }}
+ <a href="#{{ .Anchor | safeURL }}" class="h-anchor" aria-hidden="true">#</a>
+</h{{ .Level }}>
diff --git a/static/assets/style.css b/static/assets/style.css
index 84f84e7..8821e64 100644
--- a/static/assets/style.css
+++ b/static/assets/style.css
@@ -1 +1 @@
-:root{--background:#fff;--background-secondary:#eaeaea;--header:#fafafa;--color:#222;--color-secondary:#999;--border-color:#dcdcdc;--phoneWidth:(max-width:684px);--tabletWidth:(max-width:900px)}body.dark-theme{--background:#292a2d;--background-secondary:#3b3d42;--header:#252627;--color:#a9a9b3;--color-secondary:#73747b;--border-color:#4a4b50}@font-face{font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/Inter-Regular.woff2) format("woff2")}@font-face{font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";font-display:swap;font-family:Inter;font-style:italic;font-weight:400;src:url(fonts/Inter-Italic.woff2) format("woff2")}@font-face{font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/Inter-Medium.woff2) format("woff2")}@font-face{font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";font-display:swap;font-family:Inter;font-style:italic;font-weight:600;src:url(fonts/Inter-MediumItalic.woff2) format("woff2")}@font-face{font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";font-display:swap;font-family:Inter;font-style:normal;font-weight:800;src:url(fonts/Inter-Bold.woff2) format("woff2")}@font-face{font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";font-display:swap;font-family:Inter;font-style:italic;font-weight:800;src:url(fonts/Inter-BoldItalic.woff2) format("woff2")}.button-container{display:table;margin-left:auto;margin-right:auto}.button,a.button,button{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#eaeaea;background:var(--background-secondary);border:1px solid transparent;border-radius:8px;cursor:pointer;display:flex;font-weight:500;justify-content:center;margin-bottom:5px;outline:none;padding:8px 18px;position:relative;text-align:center;text-decoration:none}.button.outline,a.button.outline,button.outline{background:transparent;border-color:#eaeaea;border-color:var(--background-secondary);box-shadow:none;padding:8px 18px}.button.outline :hover,a.button.outline :hover,button.outline :hover{box-shadow:none;transform:none}.button.primary,a.button.primary,button.primary{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.button.primary:hover,a.button.primary:hover,button.primary:hover{box-shadow:0 2px 6px rgba(50,50,93,.21),0 1px 3px rgba(0,0,0,.08)}.button.link,a.button.link,button.link{background:none;font-size:1rem}.button.small,a.button.small,button.small{font-size:.8rem}.button.wide,a.button.wide,button.wide{min-width:200px;padding:14px 24px}a.read-more,a.read-more:active,a.read-more:hover{background:none;box-shadow:none;display:inline-flex;font-weight:700;margin:20px 0;padding:0}.code-toolbar{margin-bottom:20px}.code-toolbar .toolbar-item a{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#eaeaea;background:var(--background-secondary);border:1px solid transparent;border-radius:8px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;margin-bottom:5px;outline:none;padding:3px 8px;text-align:center;text-decoration:none}.code-toolbar .toolbar-item a,.header{align-items:center;justify-content:center;position:relative}.header{background:#fafafa;background:var(--header);display:flex;padding:20px}.header__right{align-items:center;display:flex;flex-direction:row}@media (max-width:683px){.header__right{flex-direction:row-reverse}}.header__inner{justify-content:space-between;margin:0 auto;max-width:100%;width:760px}.header__inner,.theme-toggle{align-items:center;display:flex}.theme-toggle{cursor:pointer;justify-content:center;line-height:1}.theme-toggler{fill:currentColor}.logo{align-items:center;display:flex;flex:0 0 auto;font-weight:700;text-decoration:none}.logo img{height:44px}.logo__mark{align-items:center;display:inline-flex;margin-right:5px}.logo__mark .greater-icon{height:100%;width:.95rem}.logo__mark .greater-icon path{stroke:currentColor;stroke-width:8px}.logo__text{font-size:1.125rem}.logo__cursor{-webkit-animation:cursor 1s infinite;animation:cursor 1s infinite;background:#fe5186;border-radius:1px;display:inline-block;height:1rem;margin-left:5px;width:10px}@-webkit-keyframes cursor{0%{opacity:0}50%{opacity:1}to{opacity:0}}@keyframes cursor{0%{opacity:0}50%{opacity:1}to{opacity:0}}.menu{--color:rgba(0,0,0,.12);--shadow:0 8px 20px var(--color);border-right:1px solid;font-weight:500;margin-right:18px;padding-right:24px}@media (max-width:683px){.menu{background:#fafafa;background:var(--header);border:none;border-radius:5px;box-shadow:var(--shadow);list-style:none;margin:0;padding:5px;position:absolute;right:10px;top:50px;z-index:99}}.menu a{text-decoration:none}.menu__inner{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-end;list-style:none;margin:0;padding:0}@media (max-width:683px){.menu__inner--desktop{display:none}}.menu__inner--mobile{display:none}@media (max-width:683px){.menu__inner--mobile{display:block}}.menu__inner li{flex:0 0 auto;text-align:left}.menu__inner li:not(:first-of-type){margin-left:20px}@media (max-width:683px){.menu__inner{align-items:flex-start;flex-direction:column;padding:0}.menu__inner li{margin-left:0!important;padding:10px}}.menu__sub-inner{list-style:none;margin:0;padding:0;position:relative}.menu__sub-inner:not(:only-child){margin-left:20px}.menu__sub-inner-more{background:#fafafa;background:var(--header);border-radius:5px;box-shadow:var(--shadow);left:0;list-style:none;margin:0;padding:5px;position:absolute;top:35px;z-index:99}.menu__sub-inner-more-trigger{align-items:center;cursor:pointer;display:inline-flex;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.menu__sub-inner-more-trigger-icon{align-items:center;display:inline-flex;line-height:1;margin-left:3px;transform:rotate(90deg)}.menu__sub-inner-more-trigger-icon .greater-icon{height:100%;width:.95rem}.menu__sub-inner-more-trigger-icon .greater-icon path{stroke:currentColor;stroke-width:5px}.menu__inner .menu__sub-inner-more li{margin-left:0;white-space:nowrap}.menu__inner .menu__sub-inner-more li:hover{background:rgba(0,0,0,.05);border-radius:3px;cursor:pointer}.menu__sub-inner-more li a{display:inline-block;padding:10px;width:100%}.menu-trigger{fill:currentColor;cursor:pointer;height:24px;margin-left:10px;width:24px}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%;background-color:#fff;background-color:var(--background);color:#222;color:var(--color);font-family:Inter,-apple-system,BlinkMacSystemFont,Roboto,Segoe UI,Helvetica,Arial,sans-serif;font-size:1rem;font-weight:500;line-height:1.54;margin:0;padding:0}@media (max-width:683px){body{font-size:1rem}}h1,h2,h3,h4,h5,h6{line-height:1.3}h1{font-size:2.625rem}h2{font-size:1.625rem}h3{font-size:1.375rem}h4{font-size:1.125rem}@media (max-width:683px){h1{font-size:2rem}h2{font-size:1.4rem}h3{font-size:1.15rem}h4{font-size:1.125rem}}a{color:inherit}img{display:block;max-width:100%}img.center,img.left{margin-right:auto}img.center,img.right{margin-left:auto}figure{display:table;margin:25px 0;max-width:100%}figure.center,figure.left{margin-right:auto}figure.center,figure.right{margin-left:auto}figure figcaption{font-size:.9rem;margin-top:5px;opacity:.8}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code,kbd{font-feature-settings:normal;background:#eaeaea;background:var(--background-secondary);border-radius:5px;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:.9rem;font-weight:400;margin:0 2px;padding:1px 6px}code code,code kbd,kbd code,kbd kbd{background:transparent;margin:0;padding:0}pre{font-feature-settings:normal;background:#212020;border-radius:8px;font-size:.9rem;overflow:auto;padding:20px}@media (max-width:683px){pre{word-wrap:break-word;white-space:pre-wrap}}pre code{font-feature-settings:normal;background:none!important;color:#ccc;font-size:inherit;margin:0;padding:0}blockquote{border-left:2px solid;margin:40px;padding:10px 20px}@media (max-width:683px){blockquote{margin:10px;padding:10px}}blockquote:before{content:"”";font-family:Georgia,serif;font-size:3.875rem;left:-40px;position:absolute;top:-20px}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}table:not(.js-file-line-container){border-collapse:collapse;border-radius:5px;margin:40px 0;table-layout:fixed;width:100%}table,td:not(.js-line-number),th{border:1px solid;padding:10px}th{background:#eaeaea;background:var(--background-secondary)}ol,ul{margin-left:40px;padding:0}@media (max-width:683px){ol,ul{margin-left:20px}}ol ol{list-style-type:lower-alpha}.container{text-align:center}.container,.content{display:flex;flex-direction:column;justify-content:center}.content{align-items:center;flex:1 auto;margin:50px 0}@media (max-width:683px){.content{margin-top:0}}hr{background:#dcdcdc;background:var(--border-color);border:none;height:1px;width:100%}.hidden{display:none}.framed{border:1px solid #dcdcdc;border:1px solid var(--border-color);border-radius:10px;max-width:800px;padding:20px}blockquote.twitter-tweet{background:rgba(44,124,186,.1);border:none;border-radius:8px;color:inherit;font-size:inherit;line-height:inherit;padding:30px}.post{margin:20px auto;max-width:800px;padding:20px;text-align:left;width:100%}@media (max-width:899px){.post{max-width:660px}}.post:not(:last-of-type){border-bottom:1px solid #dcdcdc;border-bottom:1px solid var(--border-color)}.post-meta{font-size:1rem;margin-bottom:10px}@media (max-width:683px){.post-meta{font-size:.85rem}}.post-title{font-size:2.625rem;margin:0 0 20px}@media (max-width:683px){.post-title{font-size:2rem}}.post-title a{text-decoration:none}.post-tags{display:block;font-size:1rem;margin-bottom:20px;opacity:.5}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{margin:40px -50px;max-width:860px;width:860px}.post-cover img{border-radius:8px;box-shadow:0 12px 40px rgba(0,0,0,.15);margin:0 auto}@media (max-width:899px){.post-cover{margin:20px 0;width:100%}}.post--regulation h1,.post--regulation h2{justify-content:center}.post--regulation h2{margin-bottom:10px}.post--regulation h2+h2{margin-bottom:20px;margin-top:-10px}.pagination{margin-top:50px}.pagination__title{display:flex;margin:100px 0 20px;position:relative;text-align:center}.pagination__title-h{background:#fff;background:var(--background);color:#999;color:var(--color-secondary);font-size:.8rem;letter-spacing:.1em;margin:0 auto;padding:5px 10px;text-align:center;text-decoration:none;text-transform:uppercase;z-index:1}.pagination__title hr{left:0;margin-top:15px;position:absolute;right:0;width:100%;z-index:0}.pagination__buttons{align-items:center;display:flex;justify-content:center}.pagination__buttons a{font-weight:700;text-decoration:none}.button{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#eaeaea;background:var(--background-secondary);border-radius:8px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;justify-content:center;max-width:40%;padding:0;position:relative}.button+.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-decoration:none}.button__text,.button a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.footer{color:#999;color:var(--color-secondary);flex-grow:0;padding:40px 20px}.footer__inner{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:100%;width:760px}@media (max-width:899px){.footer__inner{flex-direction:column}}.footer a{color:inherit}.footer .copyright{align-items:center;display:flex;flex-direction:row;font-size:1rem}.footer .copyright--user{margin:auto;text-align:center}.footer .copyright>:first-child:not(:only-child){border-right:1px solid;margin-right:10px;padding-right:10px}@media (max-width:899px){.footer .copyright>:first-child:not(:only-child){border:none;margin:0;padding:0}.footer .copyright{flex-direction:column;margin-top:10px}}.terms{margin:0 auto;max-width:800px;padding:20px;text-align:left;width:100%}.terms__list{margin:0;padding:0 0 0 20px}.terms__list a{text-decoration:none}.terms__term{margin-bottom:15px}.terms__term-count{background:#eaeaea;background:var(--background-secondary);border-radius:5px;font-size:12px;margin-left:5px;padding:2px 10px;text-decoration:none}.archive{margin:0 auto;max-width:800px;padding:20px;text-align:left;width:100%}.archive__group-month{align-items:flex-start;display:flex;padding:10px 0}@media (max-width:683px){.archive__group-month{flex-direction:column}}.archive__group-month:not(:last-of-type){border-bottom:1px solid #dcdcdc;border-bottom:1px solid var(--border-color)}.archive__group-year{margin-top:40px}@media (max-width:683px){.archive__group-year{margin-top:20px}}.archive__group-year:not(:last-of-type){border-bottom:1px solid #dcdcdc;border-bottom:1px solid var(--border-color)}.archive__group-year-header{margin:10px 0}.archive__group-month-header{margin:25px 0;opacity:.5;width:200px}@media (max-width:683px){.archive__group-month-header{margin:10px 0 0}}.archive__group-posts{width:100%}.archive__post{padding:20px 0}.archive__post:not(:last-of-type){border-bottom:1px solid #dcdcdc;border-bottom:1px solid var(--border-color)}.archive__post-title{margin:5px 0}.archive__post-title a{display:block;text-decoration:none}code[class*=language-],pre[class*=language-]{word-wrap:normal;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;white-space:pre;word-break:normal;word-spacing:normal}pre[class*=language-]{margin:.5em 0;overflow:auto;padding:1em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#212020!important;border-radius:8px;color:inherit!important}:not(pre)>code[class*=language-]{border-radius:.3em;padding:.1em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:hsla(0,0%,100%,.4)}.token.punctuation{color:#a9a9b3}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}pre[class*=language-].line-numbers{counter-reset:linenumber;padding-left:3.8em;position:relative}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{border-right:1px solid #999;font-size:100%;left:-3.8em;letter-spacing:-1px;pointer-events:none;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:3em}.line-numbers-rows>span{counter-increment:linenumber;display:block;pointer-events:none}.line-numbers-rows>span:before{color:#999;content:counter(linenumber);display:block;padding-right:.8em;text-align:right}div.code-toolbar{position:relative}div.code-toolbar>.toolbar{opacity:0;position:absolute;right:.2em;top:.3em;transition:opacity .3s ease-in-out}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar>.toolbar .toolbar-item{display:inline-block}div.code-toolbar>.toolbar a{cursor:pointer}div.code-toolbar>.toolbar button{background:none;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar a,div.code-toolbar>.toolbar button,div.code-toolbar>.toolbar span{background:#f5f2f0;background:hsla(0,0%,88%,.2);border-radius:.5em;box-shadow:0 2px 0 0 rgba(0,0,0,.2);color:#bbb;font-size:.8em;padding:0 .5em}div.code-toolbar>.toolbar a:focus,div.code-toolbar>.toolbar a:hover,div.code-toolbar>.toolbar button:focus,div.code-toolbar>.toolbar button:hover,div.code-toolbar>.toolbar span:focus,div.code-toolbar>.toolbar span:hover{color:inherit;text-decoration:none}.command-line-prompt{border-right:1px solid #999;display:block;float:left;font-size:100%;letter-spacing:-1px;margin-right:1em;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.command-line-prompt>span:before{color:#999;content:" ";display:block;padding-right:.8em}.command-line-prompt>span[data-user]:before{content:"[" attr(data-user) "@" attr(data-host) "] $"}.command-line-prompt>span[data-user=root]:before{content:"[" attr(data-user) "@" attr(data-host) "] #"}.command-line-prompt>span[data-prompt]:before{content:attr(data-prompt)}.collapsable-code{margin:40px 0;position:relative;width:100%}.collapsable-code input[type=checkbox]{position:absolute;visibility:hidden}.collapsable-code input[type=checkbox]:checked~.code-toolbar pre,.collapsable-code input[type=checkbox]:checked~pre{border-top:none;height:0;padding:0}.collapsable-code input[type=checkbox]:checked~.code-toolbar{border-top:none;padding:0}.collapsable-code input[type=checkbox]:checked~.code-toolbar .toolbar{display:none}.collapsable-code input[type=checkbox]:checked~label{border-radius:10px}.collapsable-code input[type=checkbox]:checked~label .collapsable-code__toggle:after{content:attr(data-label-expand)}.collapsable-code label{background:#eaeaea;background:var(--background-secondary);border-top-left-radius:10px;border-top-right-radius:10px;cursor:pointer;display:flex;justify-content:space-between;margin:0;min-height:30px;min-width:30px;padding:10px;position:relative}.collapsable-code__title{color:#222;color:var(--color);flex:1;overflow:hidden;padding:3px 10px;text-overflow:ellipsis;white-space:nowrap}.collapsable-code__language{background:#fff;background:var(--background);border-radius:10px;color:#222;color:var(--color);padding:3px 10px}.collapsable-code__toggle{color:#222;color:var(--color);font-size:16px;padding:3px 10px}.collapsable-code__toggle:after{content:attr(data-label-collapse)}.collapsable-code pre{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.collapsable-code code:first-line,.collapsable-code pre:first-line{line-height:0}.collapsable-code .code-toolbar{margin:0}
+:root{--background:#fff;--background-secondary:#eaeaea;--header:#fafafa;--color:#222;--color-secondary:#999;--border-color:#dcdcdc;--phoneWidth:(max-width:684px);--tabletWidth:(max-width:900px)}body.dark-theme{--background:#292a2d;--background-secondary:#3b3d42;--header:#252627;--color:#a9a9b3;--color-secondary:#73747b;--border-color:#4a4b50}@font-face{font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/Inter-Regular.woff2) format("woff2")}@font-face{font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";font-display:swap;font-family:Inter;font-style:italic;font-weight:400;src:url(fonts/Inter-Italic.woff2) format("woff2")}@font-face{font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/Inter-Medium.woff2) format("woff2")}@font-face{font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";font-display:swap;font-family:Inter;font-style:italic;font-weight:600;src:url(fonts/Inter-MediumItalic.woff2) format("woff2")}@font-face{font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";font-display:swap;font-family:Inter;font-style:normal;font-weight:800;src:url(fonts/Inter-Bold.woff2) format("woff2")}@font-face{font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";font-display:swap;font-family:Inter;font-style:italic;font-weight:800;src:url(fonts/Inter-BoldItalic.woff2) format("woff2")}.button-container{display:table;margin-left:auto;margin-right:auto}.button,a.button,button{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#eaeaea;background:var(--background-secondary);border:1px solid transparent;border-radius:8px;cursor:pointer;display:flex;font-weight:500;justify-content:center;margin-bottom:5px;outline:none;padding:8px 18px;position:relative;text-align:center;text-decoration:none}.button.outline,a.button.outline,button.outline{background:transparent;border-color:#eaeaea;border-color:var(--background-secondary);box-shadow:none;padding:8px 18px}.button.outline :hover,a.button.outline :hover,button.outline :hover{box-shadow:none;transform:none}.button.primary,a.button.primary,button.primary{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.button.primary:hover,a.button.primary:hover,button.primary:hover{box-shadow:0 2px 6px rgba(50,50,93,.21),0 1px 3px rgba(0,0,0,.08)}.button.link,a.button.link,button.link{background:none;font-size:1rem}.button.small,a.button.small,button.small{font-size:.8rem}.button.wide,a.button.wide,button.wide{min-width:200px;padding:14px 24px}a.read-more,a.read-more:active,a.read-more:hover{background:none;box-shadow:none;display:inline-flex;font-weight:700;margin:20px 0;padding:0}.code-toolbar{margin-bottom:20px}.code-toolbar .toolbar-item a{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#eaeaea;background:var(--background-secondary);border:1px solid transparent;border-radius:8px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;margin-bottom:5px;outline:none;padding:3px 8px;text-align:center;text-decoration:none}.code-toolbar .toolbar-item a,.header{align-items:center;justify-content:center;position:relative}.header{background:#fafafa;background:var(--header);display:flex;padding:20px}.header__right{align-items:center;display:flex;flex-direction:row}@media (max-width:683px){.header__right{flex-direction:row-reverse}}.header__inner{justify-content:space-between;margin:0 auto;max-width:100%;width:760px}.header__inner,.theme-toggle{align-items:center;display:flex}.theme-toggle{cursor:pointer;justify-content:center;line-height:1}.theme-toggler{fill:currentColor}.logo{align-items:center;display:flex;flex:0 0 auto;font-weight:700;text-decoration:none}.logo img{height:44px}.logo__mark{align-items:center;display:inline-flex;margin-right:5px}.logo__mark .greater-icon{height:100%;width:.95rem}.logo__mark .greater-icon path{stroke:currentColor;stroke-width:8px}.logo__text{font-size:1.125rem}.logo__cursor{-webkit-animation:cursor 1s infinite;animation:cursor 1s infinite;background:#fe5186;border-radius:1px;display:inline-block;height:1rem;margin-left:5px;width:10px}@-webkit-keyframes cursor{0%{opacity:0}50%{opacity:1}to{opacity:0}}@keyframes cursor{0%{opacity:0}50%{opacity:1}to{opacity:0}}.menu{--color:rgba(0,0,0,.12);--shadow:0 8px 20px var(--color);border-right:1px solid;font-weight:500;margin-right:18px;padding-right:24px}@media (max-width:683px){.menu{background:#fafafa;background:var(--header);border:none;border-radius:5px;box-shadow:var(--shadow);list-style:none;margin:0;padding:5px;position:absolute;right:10px;top:50px;z-index:99}}.menu a{text-decoration:none}.menu__inner{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-end;list-style:none;margin:0;padding:0}@media (max-width:683px){.menu__inner--desktop{display:none}}.menu__inner--mobile{display:none}@media (max-width:683px){.menu__inner--mobile{display:block}}.menu__inner li{flex:0 0 auto;text-align:left}.menu__inner li:not(:first-of-type){margin-left:20px}@media (max-width:683px){.menu__inner{align-items:flex-start;flex-direction:column;padding:0}.menu__inner li{margin-left:0!important;padding:10px}}.menu__sub-inner{list-style:none;margin:0;padding:0;position:relative}.menu__sub-inner:not(:only-child){margin-left:20px}.menu__sub-inner-more{background:#fafafa;background:var(--header);border-radius:5px;box-shadow:var(--shadow);left:0;list-style:none;margin:0;padding:5px;position:absolute;top:35px;z-index:99}.menu__sub-inner-more-trigger{align-items:center;cursor:pointer;display:inline-flex;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.menu__sub-inner-more-trigger-icon{align-items:center;display:inline-flex;line-height:1;margin-left:3px;transform:rotate(90deg)}.menu__sub-inner-more-trigger-icon .greater-icon{height:100%;width:.95rem}.menu__sub-inner-more-trigger-icon .greater-icon path{stroke:currentColor;stroke-width:5px}.menu__inner .menu__sub-inner-more li{margin-left:0;white-space:nowrap}.menu__inner .menu__sub-inner-more li:hover{background:rgba(0,0,0,.05);border-radius:3px;cursor:pointer}.menu__sub-inner-more li a{display:inline-block;padding:10px;width:100%}.menu-trigger{fill:currentColor;cursor:pointer;height:24px;margin-left:10px;width:24px}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%;background-color:#fff;background-color:var(--background);color:#222;color:var(--color);font-family:Inter,-apple-system,BlinkMacSystemFont,Roboto,Segoe UI,Helvetica,Arial,sans-serif;font-size:1rem;font-weight:500;line-height:1.54;margin:0;padding:0}@media (max-width:683px){body{font-size:1rem}}h1,h2,h3,h4,h5,h6{line-height:1.3}h1{font-size:2.625rem}h2{font-size:1.625rem}h3{font-size:1.375rem}h4{font-size:1.125rem}@media (max-width:683px){h1{font-size:2rem}h2{font-size:1.4rem}h3{font-size:1.15rem}h4{font-size:1.125rem}}a{color:inherit}img{display:block;max-width:100%}img.center,img.left{margin-right:auto}img.center,img.right{margin-left:auto}figure{display:table;margin:25px 0;max-width:100%}figure.center,figure.left{margin-right:auto}figure.center,figure.right{margin-left:auto}figure figcaption{font-size:.9rem;margin-top:5px;opacity:.8}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code,kbd{font-feature-settings:normal;background:#eaeaea;background:var(--background-secondary);border-radius:5px;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:.9rem;font-weight:400;margin:0 2px;padding:1px 6px}code code,code kbd,kbd code,kbd kbd{background:transparent;margin:0;padding:0}pre{font-feature-settings:normal;background:#212020;border-radius:8px;font-size:.9rem;overflow:auto;padding:20px}@media (max-width:683px){pre{word-wrap:break-word;white-space:pre-wrap}}pre code{font-feature-settings:normal;background:none!important;color:#ccc;font-size:inherit;margin:0;padding:0}blockquote{border-left:2px solid;margin:40px;padding:10px 20px}@media (max-width:683px){blockquote{margin:10px;padding:10px}}blockquote:before{content:"”";font-family:Georgia,serif;font-size:3.875rem;left:-40px;position:absolute;top:-20px}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}table:not(.js-file-line-container){border-collapse:collapse;border-radius:5px;margin:40px 0;table-layout:fixed;width:100%}table,td:not(.js-line-number),th{border:1px solid;padding:10px}th{background:#eaeaea;background:var(--background-secondary)}ol,ul{margin-left:40px;padding:0}@media (max-width:683px){ol,ul{margin-left:20px}}ol ol{list-style-type:lower-alpha}.container{text-align:center}.container,.content{display:flex;flex-direction:column;justify-content:center}.content{align-items:center;flex:1 auto;margin:50px 0}@media (max-width:683px){.content{margin-top:0}}hr{background:#dcdcdc;background:var(--border-color);border:none;height:1px;width:100%}.hidden{display:none}.framed{border:1px solid #dcdcdc;border:1px solid var(--border-color);border-radius:10px;max-width:800px;padding:20px}blockquote.twitter-tweet{background:rgba(44,124,186,.1);border:none;border-radius:8px;color:inherit;font-size:inherit;line-height:inherit;padding:30px}.h-anchor{margin-left:1px;opacity:0;transition:visibility 0s linear .1s,opacity .1s linear;visibility:hidden}h1:hover a,h2:hover a,h3:hover a,h4:hover a{opacity:1;transition-delay:0s;visibility:visible}.post{margin:20px auto;max-width:800px;padding:20px;text-align:left;width:100%}@media (max-width:899px){.post{max-width:660px}}.post:not(:last-of-type){border-bottom:1px solid #dcdcdc;border-bottom:1px solid var(--border-color)}.post-meta{font-size:1rem;margin-bottom:10px}@media (max-width:683px){.post-meta{font-size:.85rem}}.post-title{font-size:2.625rem;margin:0 0 20px}@media (max-width:683px){.post-title{font-size:2rem}}.post-title a{text-decoration:none}.post-tags{display:block;font-size:1rem;margin-bottom:20px;opacity:.5}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{margin:40px -50px;max-width:860px;width:860px}.post-cover img{border-radius:8px;box-shadow:0 12px 40px rgba(0,0,0,.15);margin:0 auto}@media (max-width:899px){.post-cover{margin:20px 0;width:100%}}.post--regulation h1,.post--regulation h2{justify-content:center}.post--regulation h2{margin-bottom:10px}.post--regulation h2+h2{margin-bottom:20px;margin-top:-10px}.pagination{margin-top:50px}.pagination__title{display:flex;margin:100px 0 20px;position:relative;text-align:center}.pagination__title-h{background:#fff;background:var(--background);color:#999;color:var(--color-secondary);font-size:.8rem;letter-spacing:.1em;margin:0 auto;padding:5px 10px;text-align:center;text-decoration:none;text-transform:uppercase;z-index:1}.pagination__title hr{left:0;margin-top:15px;position:absolute;right:0;width:100%;z-index:0}.pagination__buttons{align-items:center;display:flex;justify-content:center}.pagination__buttons a{font-weight:700;text-decoration:none}.button{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#eaeaea;background:var(--background-secondary);border-radius:8px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;justify-content:center;max-width:40%;padding:0;position:relative}.button+.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-decoration:none}.button__text,.button a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.footer{color:#999;color:var(--color-secondary);flex-grow:0;padding:40px 20px}.footer__inner{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:100%;width:760px}@media (max-width:899px){.footer__inner{flex-direction:column}}.footer a{color:inherit}.footer .copyright{align-items:center;display:flex;flex-direction:row;font-size:1rem}.footer .copyright--user{margin:auto;text-align:center}.footer .copyright>:first-child:not(:only-child){border-right:1px solid;margin-right:10px;padding-right:10px}@media (max-width:899px){.footer .copyright>:first-child:not(:only-child){border:none;margin:0;padding:0}.footer .copyright{flex-direction:column;margin-top:10px}}.terms{margin:0 auto;max-width:800px;padding:20px;text-align:left;width:100%}.terms__list{margin:0;padding:0 0 0 20px}.terms__list a{text-decoration:none}.terms__term{margin-bottom:15px}.terms__term-count{background:#eaeaea;background:var(--background-secondary);border-radius:5px;font-size:12px;margin-left:5px;padding:2px 10px;text-decoration:none}.archive{margin:0 auto;max-width:800px;padding:20px;text-align:left;width:100%}.archive__group-month{align-items:flex-start;display:flex;padding:10px 0}@media (max-width:683px){.archive__group-month{flex-direction:column}}.archive__group-month:not(:last-of-type){border-bottom:1px solid #dcdcdc;border-bottom:1px solid var(--border-color)}.archive__group-year{margin-top:40px}@media (max-width:683px){.archive__group-year{margin-top:20px}}.archive__group-year:not(:last-of-type){border-bottom:1px solid #dcdcdc;border-bottom:1px solid var(--border-color)}.archive__group-year-header{margin:10px 0}.archive__group-month-header{margin:25px 0;opacity:.5;width:200px}@media (max-width:683px){.archive__group-month-header{margin:10px 0 0}}.archive__group-posts{width:100%}.archive__post{padding:20px 0}.archive__post:not(:last-of-type){border-bottom:1px solid #dcdcdc;border-bottom:1px solid var(--border-color)}.archive__post-title{margin:5px 0}.archive__post-title a{display:block;text-decoration:none}code[class*=language-],pre[class*=language-]{word-wrap:normal;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;white-space:pre;word-break:normal;word-spacing:normal}pre[class*=language-]{margin:.5em 0;overflow:auto;padding:1em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#212020!important;border-radius:8px;color:inherit!important}:not(pre)>code[class*=language-]{border-radius:.3em;padding:.1em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:hsla(0,0%,100%,.4)}.token.punctuation{color:#a9a9b3}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}pre[class*=language-].line-numbers{counter-reset:linenumber;padding-left:3.8em;position:relative}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{border-right:1px solid #999;font-size:100%;left:-3.8em;letter-spacing:-1px;pointer-events:none;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:3em}.line-numbers-rows>span{counter-increment:linenumber;display:block;pointer-events:none}.line-numbers-rows>span:before{color:#999;content:counter(linenumber);display:block;padding-right:.8em;text-align:right}div.code-toolbar{position:relative}div.code-toolbar>.toolbar{opacity:0;position:absolute;right:.2em;top:.3em;transition:opacity .3s ease-in-out}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar>.toolbar .toolbar-item{display:inline-block}div.code-toolbar>.toolbar a{cursor:pointer}div.code-toolbar>.toolbar button{background:none;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar a,div.code-toolbar>.toolbar button,div.code-toolbar>.toolbar span{background:#f5f2f0;background:hsla(0,0%,88%,.2);border-radius:.5em;box-shadow:0 2px 0 0 rgba(0,0,0,.2);color:#bbb;font-size:.8em;padding:0 .5em}div.code-toolbar>.toolbar a:focus,div.code-toolbar>.toolbar a:hover,div.code-toolbar>.toolbar button:focus,div.code-toolbar>.toolbar button:hover,div.code-toolbar>.toolbar span:focus,div.code-toolbar>.toolbar span:hover{color:inherit;text-decoration:none}.command-line-prompt{border-right:1px solid #999;display:block;float:left;font-size:100%;letter-spacing:-1px;margin-right:1em;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.command-line-prompt>span:before{color:#999;content:" ";display:block;padding-right:.8em}.command-line-prompt>span[data-user]:before{content:"[" attr(data-user) "@" attr(data-host) "] $"}.command-line-prompt>span[data-user=root]:before{content:"[" attr(data-user) "@" attr(data-host) "] #"}.command-line-prompt>span[data-prompt]:before{content:attr(data-prompt)}.collapsable-code{margin:40px 0;position:relative;width:100%}.collapsable-code input[type=checkbox]{position:absolute;visibility:hidden}.collapsable-code input[type=checkbox]:checked~.code-toolbar pre,.collapsable-code input[type=checkbox]:checked~pre{border-top:none;height:0;padding:0}.collapsable-code input[type=checkbox]:checked~.code-toolbar{border-top:none;padding:0}.collapsable-code input[type=checkbox]:checked~.code-toolbar .toolbar{display:none}.collapsable-code input[type=checkbox]:checked~label{border-radius:10px}.collapsable-code input[type=checkbox]:checked~label .collapsable-code__toggle:after{content:attr(data-label-expand)}.collapsable-code label{background:#eaeaea;background:var(--background-secondary);border-top-left-radius:10px;border-top-right-radius:10px;cursor:pointer;display:flex;justify-content:space-between;margin:0;min-height:30px;min-width:30px;padding:10px;position:relative}.collapsable-code__title{color:#222;color:var(--color);flex:1;overflow:hidden;padding:3px 10px;text-overflow:ellipsis;white-space:nowrap}.collapsable-code__language{background:#fff;background:var(--background);border-radius:10px;color:#222;color:var(--color);padding:3px 10px}.collapsable-code__toggle{color:#222;color:var(--color);font-size:16px;padding:3px 10px}.collapsable-code__toggle:after{content:attr(data-label-collapse)}.collapsable-code pre{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.collapsable-code code:first-line,.collapsable-code pre:first-line{line-height:0}.collapsable-code .code-toolbar{margin:0}