diff --git a/layouts/_default/single.html b/layouts/_default/single.html index d7f6977..da620a7 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -22,14 +22,14 @@ {{ end }} {{ end }} - + {{ with .Params.Cover }} {{ end }} {{ if .Params.Toc }}
-

+

{{ if .Params.TocTitle }} {{ .Params.TocTitle }} {{ else if $.Site.Params.TocTitle }} @@ -37,7 +37,7 @@ {{ else }} Table of Contents {{ end }} -

+ {{ .TableOfContents }}
{{ end }} diff --git a/source/css/main.css b/source/css/main.css index a144a16..1773037 100644 --- a/source/css/main.css +++ b/source/css/main.css @@ -222,11 +222,6 @@ ol { @media (--phone) { margin-left: 20px; } - - ul, - ol { - margin-top: 20px; - } } ol ol { diff --git a/source/css/post.css b/source/css/post.css index 6c6e303..19859ff 100644 --- a/source/css/post.css +++ b/source/css/post.css @@ -75,7 +75,7 @@ list-style: none; li:before { - content: '►'; + content: '-'; position: absolute; left: -20px; color: var(--accent); diff --git a/static/assets/blue.css b/static/assets/blue.css index a432b67..6856b1a 100644 --- a/static/assets/blue.css +++ b/static/assets/blue.css @@ -1 +1 @@ -html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{margin:0;padding:0;font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;font-size:1rem;line-height:1.54;letter-spacing:-.02em;background-color:rgb(29, 33, 44);background-color:rgb(29, 33, 44);color:#fff;color:var(--color);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-webkit-font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%}@media (max-width:683px){body{font-size:1rem}}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3,.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{line-height:1.3}.headings--one-size h1:not(first-child),.headings--one-size h2:not(first-child),.headings--one-size h3:not(first-child),.headings--one-size h4:not(first-child),.headings--one-size h5:not(first-child),.headings--one-size h6:not(first-child){margin-top:40px}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3{font-size:1.4rem}.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{font-size:1.2rem}a{color:inherit}img{display:block;max-width:100%}img.center,img.left{margin-right:auto}img.center,img.right{margin-left:auto}p{margin-bottom:20px}figure{display:table;max-width:100%;margin:25px 0}figure.center,figure.left{margin-right:auto}figure.center,figure.right{margin-left:auto}figure figcaption{font-size:14px;padding:5px 10px;margin-top:5px;background:#23b0ff;background:var(--accent);color:rgb(29, 33, 44);color:var(--background)}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code{font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;-webkit-font-feature-settings:normal;font-feature-settings:normal;background:rgba(35, 176, 255, 0.2);background:rgba(35, 176, 255, 0.2);color:#23b0ff;color:var(--accent);padding:1px 6px;margin:0 2px}code,pre{font-size:.95rem}pre{background:transparent!important;padding:20px 10px;margin:40px 0;overflow:auto;border-top:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid hsla(0,0%,100%,.1)}pre+pre{border-top:0;margin-top:-40px}@media (max-width:683px){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{background:none!important;margin:0;padding:0;font-size:inherit;border:none}blockquote{border-top:1px solid #23b0ff;border-top:1px solid var(--accent);border-bottom:1px solid #23b0ff;border-bottom:1px solid var(--accent);margin:40px 0;padding:25px}@media (max-width:683px){blockquote{padding-right:0}}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}blockquote p{position:relative}blockquote p:before{content:">";display:block;position:absolute;left:-25px;color:#23b0ff;color:var(--accent)}table{table-layout:fixed;border-collapse:collapse;width:100%;margin:40px 0}table,td,th{border:1px dashed #23b0ff;border:1px dashed var(--accent);padding:10px}th{color:#23b0ff;color:var(--accent)}ol,ul{margin-left:30px;padding:0}ol li,ul li{position:relative}@media (max-width:683px){ol,ul{margin-left:20px}}ol ol,ol ul,ul ol,ul ul{margin-top:20px}ol ol{list-style-type:lower-alpha}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;border-right:1px solid hsla(0,0%,100%,.1)}.container.center,.container.full{border:none;margin:0 auto}.container.full{max-width:100%}@media (max-width:683px){.container{padding:20px}}.content{display:flex}hr{width:100%;border:none;background:hsla(0,0%,100%,.1);background:var(--border-color);height:1px}.hidden{display:none}.header{display:flex;flex-direction:column;position:relative}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex:1}.header__logo:after{content:"";background:repeating-linear-gradient(90deg,#23b0ff,#23b0ff 2px,transparent 0,transparent 10px);background:repeating-linear-gradient(90deg,var(--accent),var(--accent) 2px,transparent 0,transparent 10px);display:block;width:100%;right:10px}.header__logo a{flex:0 0 auto;max-width:100%;text-decoration:none}.header .menu{--shadow-color:rgba(29, 33, 44, 0.8);--shadow-color:rgba(29, 33, 44, 0.8);--shadow:0 10px var(--shadow-color),-10px 10px var(--shadow-color),10px 10px var(--shadow-color);margin:20px 0}@media (max-width:683px){.header .menu{position:absolute;background:rgb(29, 33, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:50px;right:0}}.header .menu__inner{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}@media (max-width:683px){.header .menu__inner--desktop{display:none}}.header .menu__inner--mobile{display:none}@media (max-width:683px){.header .menu__inner--mobile{display:block}}.header .menu__inner li:not(:last-of-type){margin-right:20px;margin-bottom:10px;flex:0 0 auto}@media (max-width:683px){.header .menu__inner{flex-direction:column;align-items:flex-start;padding:0}.header .menu__inner li{margin:0;padding:5px}}.header .menu__sub-inner{position:relative;list-style:none;padding:0;margin:0}.header .menu__sub-inner:not(:only-child){margin-left:20px}.header .menu__sub-inner-more{position:absolute;background:rgb(29, 33, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;left:0}.header .menu__sub-inner-more-trigger{color:#23b0ff;color:var(--accent);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.header .menu__sub-inner-more li{margin:0;padding:5px;white-space:nowrap}.header .menu .spacer{flex-grow:1}.header .menu .language-selector{position:relative;list-style:none;margin:0}.header .menu .language-selector-current{list-style-type:none;display:flex;flex-direction:row;color:#23b0ff;color:var(--accent);cursor:pointer;margin:0}.header .menu .language-selector__more{position:absolute;background:rgb(29, 33, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;right:0}.header .menu-trigger{color:#23b0ff;color:var(--accent);border:2px solid;margin-left:10px;height:100%;padding:3px 8px;position:relative}.logo{display:flex;align-items:center;text-decoration:none;background:#23b0ff;background:var(--accent);color:#000;padding:5px 10px}.pagination{margin-top:50px}.pagination__title{display:flex;text-align:center;position:relative;margin:100px 0 20px}.pagination__title-h{text-align:center;margin:0 auto;padding:5px 10px;background:rgb(29, 33, 44);background:rgb(29, 33, 44);font-size:.8rem;text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center}.pagination__buttons a{text-decoration:none}.button{position:relative;display:inline-flex;flex:1;align-items:center;justify-content:center;font-size:1rem;border-radius:8px;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden}.button+.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-decoration:none}.button__text,.button a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.post,.posts{width:100%}.post{text-align:left;margin:20px auto;padding:20px 0}@media (max-width:899px){.post{max-width:660px}}.post:not(:last-of-type){border-bottom:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid var(--border-color)}.post-meta{font-size:1rem;margin-bottom:10px;color:rgba(35, 176, 255, 0.7);color:rgba(35, 176, 255, 0.7)}.post-title{--border:3px dotted #23b0ff;--border:3px dotted var(--accent);position:relative;color:#23b0ff;color:var(--accent);margin:0 0 15px;padding-bottom:15px;border-bottom:var(--border)}.post-title:after{content:"";position:absolute;bottom:2px;display:block;width:100%;border-bottom:var(--border)}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:1rem;opacity:.5}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{border:20px solid #23b0ff;border:20px solid var(--accent);background:transparent;margin:40px 0;padding:20px}@media (max-width:683px){.post-cover{padding:10px;border-width:10px}}.post ul{list-style:none}.post ul li:before{content:"\25BA";position:absolute;left:-20px;color:#23b0ff;color:var(--accent)}.post--regulation h1,.post--regulation h2{justify-content:center}.post--regulation h2{margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.hanchor{color:rgba(35, 176, 255, 0.9);color:rgba(35, 176, 255, 0.9);text-decoration:none;margin-left:10px;visibility:hidden}h1:hover a,h2:hover a,h3:hover a,h4:hover a{visibility:visible}.language-css .token.string,.language-scss .token.string,.style .token.string,.token.atrule,.token.attr-value,.token.boolean,.token.control,.token.directive,.token.entity,.token.keyword,.token.number,.token.regex,.token.statement,.token.string,.token.url,code.language-css,code.language-scss{color:#23b0ff;color:var(--accent)}.token.atrule-id,.token.attr-name,.token.operator,.token.placeholder,.token.tag-id,.token.unit,.token.variable{color:rgba(35, 176, 255, 0.7);color:rgba(35, 176, 255, 0.7)}.command-line-prompt>span:before,.token.function,.token.property,code.language-html,code.language-javascript{color:rgb(141, 155, 163);color:rgb(141, 155, 163)}.token.punctuation,.token.selector,.token.tag{color:#fff}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:hsla(0,0%,100%,.3)}.token.namespace{opacity:.7}pre[data-line]{position:relative}.line-highlight{position:absolute;left:0;right:0;padding:0;margin:0;background:rgba(141, 155, 163, 0.08);background:rgba(141, 155, 163, 0.08);pointer-events:none;line-height:inherit;white-space:pre}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f5f2f0;font:700 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:after,.line-numbers .line-highlight:before{content:none}:root{--accent:#ffa86a;--phoneWidth:(max-width:684px);--tabletWidth:(max-width:900px)}:root{--accent:#23b0ff;--background:rgb(29, 33, 44);--background:rgb(29, 33, 44);--color:#fff;--border-color:hsla(0,0%,100%,0.1)} \ No newline at end of file +html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{margin:0;padding:0;font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;font-size:1rem;line-height:1.54;letter-spacing:-.02em;background-color:rgb(29, 33, 44);background-color:rgb(29, 33, 44);color:#fff;color:var(--color);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-webkit-font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%}@media (max-width:683px){body{font-size:1rem}}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3,.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{line-height:1.3}.headings--one-size h1:not(first-child),.headings--one-size h2:not(first-child),.headings--one-size h3:not(first-child),.headings--one-size h4:not(first-child),.headings--one-size h5:not(first-child),.headings--one-size h6:not(first-child){margin-top:40px}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3{font-size:1.4rem}.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{font-size:1.2rem}a{color:inherit}img{display:block;max-width:100%}img.center,img.left{margin-right:auto}img.center,img.right{margin-left:auto}p{margin-bottom:20px}figure{display:table;max-width:100%;margin:25px 0}figure.center,figure.left{margin-right:auto}figure.center,figure.right{margin-left:auto}figure figcaption{font-size:14px;padding:5px 10px;margin-top:5px;background:#23b0ff;background:var(--accent);color:rgb(29, 33, 44);color:var(--background)}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code{font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;-webkit-font-feature-settings:normal;font-feature-settings:normal;background:rgba(35, 176, 255, 0.2);background:rgba(35, 176, 255, 0.2);color:#23b0ff;color:var(--accent);padding:1px 6px;margin:0 2px}code,pre{font-size:.95rem}pre{background:transparent!important;padding:20px 10px;margin:40px 0;overflow:auto;border-top:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid hsla(0,0%,100%,.1)}pre+pre{border-top:0;margin-top:-40px}@media (max-width:683px){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{background:none!important;margin:0;padding:0;font-size:inherit;border:none}blockquote{border-top:1px solid #23b0ff;border-top:1px solid var(--accent);border-bottom:1px solid #23b0ff;border-bottom:1px solid var(--accent);margin:40px 0;padding:25px}@media (max-width:683px){blockquote{padding-right:0}}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}blockquote p{position:relative}blockquote p:before{content:">";display:block;position:absolute;left:-25px;color:#23b0ff;color:var(--accent)}table{table-layout:fixed;border-collapse:collapse;width:100%;margin:40px 0}table,td,th{border:1px dashed #23b0ff;border:1px dashed var(--accent);padding:10px}th{color:#23b0ff;color:var(--accent)}ol,ul{margin-left:30px;padding:0}ol li,ul li{position:relative}@media (max-width:683px){ol,ul{margin-left:20px}}ol ol{list-style-type:lower-alpha}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;border-right:1px solid hsla(0,0%,100%,.1)}.container.center,.container.full{border:none;margin:0 auto}.container.full{max-width:100%}@media (max-width:683px){.container{padding:20px}}@media print{.container{display:inline;display:initial}}.content{display:flex}@media print{.content{display:inline;display:initial}}hr{width:100%;border:none;background:hsla(0,0%,100%,.1);background:var(--border-color);height:1px}.hidden{display:none}.header{display:flex;flex-direction:column;position:relative}@media print{.header{display:none}}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex:1}.header__logo:after{content:"";background:repeating-linear-gradient(90deg,#23b0ff,#23b0ff 2px,transparent 0,transparent 10px);background:repeating-linear-gradient(90deg,var(--accent),var(--accent) 2px,transparent 0,transparent 10px);display:block;width:100%;right:10px}.header__logo a{flex:0 0 auto;max-width:100%;text-decoration:none}.header .menu{--shadow-color:rgba(29, 33, 44, 0.8);--shadow-color:rgba(29, 33, 44, 0.8);--shadow:0 10px var(--shadow-color),-10px 10px var(--shadow-color),10px 10px var(--shadow-color);margin:20px 0}@media (max-width:683px){.header .menu{position:absolute;background:rgb(29, 33, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:50px;right:0}}.header .menu__inner{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}@media (max-width:683px){.header .menu__inner--desktop{display:none}}.header .menu__inner--mobile{display:none}@media (max-width:683px){.header .menu__inner--mobile{display:block}}.header .menu__inner li:not(:last-of-type){margin-right:20px;margin-bottom:10px;flex:0 0 auto}@media (max-width:683px){.header .menu__inner{flex-direction:column;align-items:flex-start;padding:0}.header .menu__inner li{margin:0;padding:5px}}.header .menu__sub-inner{position:relative;list-style:none;padding:0;margin:0}.header .menu__sub-inner:not(:only-child){margin-left:20px}.header .menu__sub-inner-more{position:absolute;background:rgb(29, 33, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;left:0}.header .menu__sub-inner-more-trigger{color:#23b0ff;color:var(--accent);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.header .menu__sub-inner-more li{margin:0;padding:5px;white-space:nowrap}.header .menu .spacer{flex-grow:1}.header .menu .language-selector{position:relative;list-style:none;margin:0}.header .menu .language-selector-current{list-style-type:none;display:flex;flex-direction:row;color:#23b0ff;color:var(--accent);cursor:pointer;margin:0}.header .menu .language-selector__more{position:absolute;background:rgb(29, 33, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;right:0}.header .menu-trigger{color:#23b0ff;color:var(--accent);border:2px solid;margin-left:10px;height:100%;padding:3px 8px;position:relative}.logo{display:flex;align-items:center;text-decoration:none;background:#23b0ff;background:var(--accent);color:#000;padding:5px 10px}.pagination{margin-top:50px}@media print{.pagination{display:none}}.pagination__title{display:flex;text-align:center;position:relative;margin:100px 0 20px}.pagination__title-h{text-align:center;margin:0 auto;padding:5px 10px;background:rgb(29, 33, 44);background:rgb(29, 33, 44);font-size:.8rem;text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center}.pagination__buttons a{text-decoration:none}.button{position:relative;display:inline-flex;flex:1;align-items:center;justify-content:center;font-size:1rem;border-radius:8px;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden}.button+.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-decoration:none}.button__text,.button a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.post,.posts{width:100%}.post{text-align:left;margin:20px auto;padding:20px 0}@media (max-width:899px){.post{max-width:660px}}.post:not(:last-of-type){border-bottom:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid var(--border-color)}.post-meta{font-size:1rem;margin-bottom:10px;color:rgba(35, 176, 255, 0.7);color:rgba(35, 176, 255, 0.7)}.post-title{--border:3px dotted #23b0ff;--border:3px dotted var(--accent);position:relative;color:#23b0ff;color:var(--accent);margin:0 0 15px;padding-bottom:15px;border-bottom:var(--border)}.post-title:after{content:"";position:absolute;bottom:2px;display:block;width:100%;border-bottom:var(--border)}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:1rem;opacity:.5}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{border:20px solid #23b0ff;border:20px solid var(--accent);background:transparent;margin:40px 0;padding:20px}@media (max-width:683px){.post-cover{padding:10px;border-width:10px}}.post ul{list-style:none}.post ul li:before{content:"-";position:absolute;left:-20px;color:#23b0ff;color:var(--accent)}.post--regulation h1,.post--regulation h2{justify-content:center}.post--regulation h2{margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.hanchor{color:rgba(35, 176, 255, 0.9);color:rgba(35, 176, 255, 0.9);text-decoration:none;margin-left:10px;visibility:hidden}h1:hover a,h2:hover a,h3:hover a,h4:hover a{visibility:visible}.language-css .token.string,.language-scss .token.string,.style .token.string,.token.atrule,.token.attr-value,.token.boolean,.token.control,.token.directive,.token.entity,.token.keyword,.token.number,.token.regex,.token.statement,.token.string,.token.url,code.language-css,code.language-scss{color:#23b0ff;color:var(--accent)}.token.atrule-id,.token.attr-name,.token.operator,.token.placeholder,.token.tag-id,.token.unit,.token.variable{color:rgba(35, 176, 255, 0.7);color:rgba(35, 176, 255, 0.7)}.command-line-prompt>span:before,.token.function,.token.property,code.language-html,code.language-javascript{color:rgb(141, 155, 163);color:rgb(141, 155, 163)}.token.punctuation,.token.selector,.token.tag{color:#fff}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:hsla(0,0%,100%,.3)}.token.namespace{opacity:.7}pre[data-line]{position:relative}.line-highlight{position:absolute;left:0;right:0;padding:0;margin:0;background:rgba(141, 155, 163, 0.08);background:rgba(141, 155, 163, 0.08);pointer-events:none;line-height:inherit;white-space:pre}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f5f2f0;font:700 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:after,.line-numbers .line-highlight:before{content:none}:root{--accent:#ffa86a;--phoneWidth:(max-width:684px);--tabletWidth:(max-width:900px);--accent:#23b0ff;--background:rgb(29, 33, 44);--background:rgb(29, 33, 44);--color:#fff;--border-color:hsla(0,0%,100%,0.1)} \ No newline at end of file diff --git a/static/assets/green.css b/static/assets/green.css index b25e369..45363e9 100644 --- a/static/assets/green.css +++ b/static/assets/green.css @@ -1 +1 @@ -html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{margin:0;padding:0;font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;font-size:1rem;line-height:1.54;letter-spacing:-.02em;background-color:rgb(31, 34, 42);background-color:rgb(31, 34, 42);color:#fff;color:var(--color);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-webkit-font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%}@media (max-width:683px){body{font-size:1rem}}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3,.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{line-height:1.3}.headings--one-size h1:not(first-child),.headings--one-size h2:not(first-child),.headings--one-size h3:not(first-child),.headings--one-size h4:not(first-child),.headings--one-size h5:not(first-child),.headings--one-size h6:not(first-child){margin-top:40px}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3{font-size:1.4rem}.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{font-size:1.2rem}a{color:inherit}img{display:block;max-width:100%}img.center,img.left{margin-right:auto}img.center,img.right{margin-left:auto}p{margin-bottom:20px}figure{display:table;max-width:100%;margin:25px 0}figure.center,figure.left{margin-right:auto}figure.center,figure.right{margin-left:auto}figure figcaption{font-size:14px;padding:5px 10px;margin-top:5px;background:#78e2a0;background:var(--accent);color:rgb(31, 34, 42);color:var(--background)}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code{font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;-webkit-font-feature-settings:normal;font-feature-settings:normal;background:rgba(120, 226, 160, 0.2);background:rgba(120, 226, 160, 0.2);color:#78e2a0;color:var(--accent);padding:1px 6px;margin:0 2px}code,pre{font-size:.95rem}pre{background:transparent!important;padding:20px 10px;margin:40px 0;overflow:auto;border-top:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid hsla(0,0%,100%,.1)}pre+pre{border-top:0;margin-top:-40px}@media (max-width:683px){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{background:none!important;margin:0;padding:0;font-size:inherit;border:none}blockquote{border-top:1px solid #78e2a0;border-top:1px solid var(--accent);border-bottom:1px solid #78e2a0;border-bottom:1px solid var(--accent);margin:40px 0;padding:25px}@media (max-width:683px){blockquote{padding-right:0}}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}blockquote p{position:relative}blockquote p:before{content:">";display:block;position:absolute;left:-25px;color:#78e2a0;color:var(--accent)}table{table-layout:fixed;border-collapse:collapse;width:100%;margin:40px 0}table,td,th{border:1px dashed #78e2a0;border:1px dashed var(--accent);padding:10px}th{color:#78e2a0;color:var(--accent)}ol,ul{margin-left:30px;padding:0}ol li,ul li{position:relative}@media (max-width:683px){ol,ul{margin-left:20px}}ol ol,ol ul,ul ol,ul ul{margin-top:20px}ol ol{list-style-type:lower-alpha}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;border-right:1px solid hsla(0,0%,100%,.1)}.container.center,.container.full{border:none;margin:0 auto}.container.full{max-width:100%}@media (max-width:683px){.container{padding:20px}}.content{display:flex}hr{width:100%;border:none;background:hsla(0,0%,100%,.1);background:var(--border-color);height:1px}.hidden{display:none}.header{display:flex;flex-direction:column;position:relative}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex:1}.header__logo:after{content:"";background:repeating-linear-gradient(90deg,#78e2a0,#78e2a0 2px,transparent 0,transparent 10px);background:repeating-linear-gradient(90deg,var(--accent),var(--accent) 2px,transparent 0,transparent 10px);display:block;width:100%;right:10px}.header__logo a{flex:0 0 auto;max-width:100%;text-decoration:none}.header .menu{--shadow-color:rgba(31, 34, 42, 0.8);--shadow-color:rgba(31, 34, 42, 0.8);--shadow:0 10px var(--shadow-color),-10px 10px var(--shadow-color),10px 10px var(--shadow-color);margin:20px 0}@media (max-width:683px){.header .menu{position:absolute;background:rgb(31, 34, 42);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:50px;right:0}}.header .menu__inner{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}@media (max-width:683px){.header .menu__inner--desktop{display:none}}.header .menu__inner--mobile{display:none}@media (max-width:683px){.header .menu__inner--mobile{display:block}}.header .menu__inner li:not(:last-of-type){margin-right:20px;margin-bottom:10px;flex:0 0 auto}@media (max-width:683px){.header .menu__inner{flex-direction:column;align-items:flex-start;padding:0}.header .menu__inner li{margin:0;padding:5px}}.header .menu__sub-inner{position:relative;list-style:none;padding:0;margin:0}.header .menu__sub-inner:not(:only-child){margin-left:20px}.header .menu__sub-inner-more{position:absolute;background:rgb(31, 34, 42);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;left:0}.header .menu__sub-inner-more-trigger{color:#78e2a0;color:var(--accent);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.header .menu__sub-inner-more li{margin:0;padding:5px;white-space:nowrap}.header .menu .spacer{flex-grow:1}.header .menu .language-selector{position:relative;list-style:none;margin:0}.header .menu .language-selector-current{list-style-type:none;display:flex;flex-direction:row;color:#78e2a0;color:var(--accent);cursor:pointer;margin:0}.header .menu .language-selector__more{position:absolute;background:rgb(31, 34, 42);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;right:0}.header .menu-trigger{color:#78e2a0;color:var(--accent);border:2px solid;margin-left:10px;height:100%;padding:3px 8px;position:relative}.logo{display:flex;align-items:center;text-decoration:none;background:#78e2a0;background:var(--accent);color:#000;padding:5px 10px}.pagination{margin-top:50px}.pagination__title{display:flex;text-align:center;position:relative;margin:100px 0 20px}.pagination__title-h{text-align:center;margin:0 auto;padding:5px 10px;background:rgb(31, 34, 42);background:rgb(31, 34, 42);font-size:.8rem;text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center}.pagination__buttons a{text-decoration:none}.button{position:relative;display:inline-flex;flex:1;align-items:center;justify-content:center;font-size:1rem;border-radius:8px;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden}.button+.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-decoration:none}.button__text,.button a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.post,.posts{width:100%}.post{text-align:left;margin:20px auto;padding:20px 0}@media (max-width:899px){.post{max-width:660px}}.post:not(:last-of-type){border-bottom:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid var(--border-color)}.post-meta{font-size:1rem;margin-bottom:10px;color:rgba(120, 226, 160, 0.7);color:rgba(120, 226, 160, 0.7)}.post-title{--border:3px dotted #78e2a0;--border:3px dotted var(--accent);position:relative;color:#78e2a0;color:var(--accent);margin:0 0 15px;padding-bottom:15px;border-bottom:var(--border)}.post-title:after{content:"";position:absolute;bottom:2px;display:block;width:100%;border-bottom:var(--border)}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:1rem;opacity:.5}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{border:20px solid #78e2a0;border:20px solid var(--accent);background:transparent;margin:40px 0;padding:20px}@media (max-width:683px){.post-cover{padding:10px;border-width:10px}}.post ul{list-style:none}.post ul li:before{content:"\25BA";position:absolute;left:-20px;color:#78e2a0;color:var(--accent)}.post--regulation h1,.post--regulation h2{justify-content:center}.post--regulation h2{margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.hanchor{color:rgba(120, 226, 160, 0.9);color:rgba(120, 226, 160, 0.9);text-decoration:none;margin-left:10px;visibility:hidden}h1:hover a,h2:hover a,h3:hover a,h4:hover a{visibility:visible}.language-css .token.string,.language-scss .token.string,.style .token.string,.token.atrule,.token.attr-value,.token.boolean,.token.control,.token.directive,.token.entity,.token.keyword,.token.number,.token.regex,.token.statement,.token.string,.token.url,code.language-css,code.language-scss{color:#78e2a0;color:var(--accent)}.token.atrule-id,.token.attr-name,.token.operator,.token.placeholder,.token.tag-id,.token.unit,.token.variable{color:rgba(120, 226, 160, 0.7);color:rgba(120, 226, 160, 0.7)}.command-line-prompt>span:before,.token.function,.token.property,code.language-html,code.language-javascript{color:rgb(150, 160, 154);color:rgb(150, 160, 154)}.token.punctuation,.token.selector,.token.tag{color:#fff}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:hsla(0,0%,100%,.3)}.token.namespace{opacity:.7}pre[data-line]{position:relative}.line-highlight{position:absolute;left:0;right:0;padding:0;margin:0;background:rgba(150, 160, 154, 0.08);background:rgba(150, 160, 154, 0.08);pointer-events:none;line-height:inherit;white-space:pre}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f5f2f0;font:700 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:after,.line-numbers .line-highlight:before{content:none}:root{--accent:#ffa86a;--phoneWidth:(max-width:684px);--tabletWidth:(max-width:900px)}:root{--accent:#78e2a0;--background:rgb(31, 34, 42);--background:rgb(31, 34, 42);--color:#fff;--border-color:hsla(0,0%,100%,0.1)} \ No newline at end of file +html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{margin:0;padding:0;font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;font-size:1rem;line-height:1.54;letter-spacing:-.02em;background-color:rgb(31, 34, 42);background-color:rgb(31, 34, 42);color:#fff;color:var(--color);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-webkit-font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%}@media (max-width:683px){body{font-size:1rem}}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3,.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{line-height:1.3}.headings--one-size h1:not(first-child),.headings--one-size h2:not(first-child),.headings--one-size h3:not(first-child),.headings--one-size h4:not(first-child),.headings--one-size h5:not(first-child),.headings--one-size h6:not(first-child){margin-top:40px}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3{font-size:1.4rem}.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{font-size:1.2rem}a{color:inherit}img{display:block;max-width:100%}img.center,img.left{margin-right:auto}img.center,img.right{margin-left:auto}p{margin-bottom:20px}figure{display:table;max-width:100%;margin:25px 0}figure.center,figure.left{margin-right:auto}figure.center,figure.right{margin-left:auto}figure figcaption{font-size:14px;padding:5px 10px;margin-top:5px;background:#78e2a0;background:var(--accent);color:rgb(31, 34, 42);color:var(--background)}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code{font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;-webkit-font-feature-settings:normal;font-feature-settings:normal;background:rgba(120, 226, 160, 0.2);background:rgba(120, 226, 160, 0.2);color:#78e2a0;color:var(--accent);padding:1px 6px;margin:0 2px}code,pre{font-size:.95rem}pre{background:transparent!important;padding:20px 10px;margin:40px 0;overflow:auto;border-top:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid hsla(0,0%,100%,.1)}pre+pre{border-top:0;margin-top:-40px}@media (max-width:683px){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{background:none!important;margin:0;padding:0;font-size:inherit;border:none}blockquote{border-top:1px solid #78e2a0;border-top:1px solid var(--accent);border-bottom:1px solid #78e2a0;border-bottom:1px solid var(--accent);margin:40px 0;padding:25px}@media (max-width:683px){blockquote{padding-right:0}}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}blockquote p{position:relative}blockquote p:before{content:">";display:block;position:absolute;left:-25px;color:#78e2a0;color:var(--accent)}table{table-layout:fixed;border-collapse:collapse;width:100%;margin:40px 0}table,td,th{border:1px dashed #78e2a0;border:1px dashed var(--accent);padding:10px}th{color:#78e2a0;color:var(--accent)}ol,ul{margin-left:30px;padding:0}ol li,ul li{position:relative}@media (max-width:683px){ol,ul{margin-left:20px}}ol ol{list-style-type:lower-alpha}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;border-right:1px solid hsla(0,0%,100%,.1)}.container.center,.container.full{border:none;margin:0 auto}.container.full{max-width:100%}@media (max-width:683px){.container{padding:20px}}@media print{.container{display:inline;display:initial}}.content{display:flex}@media print{.content{display:inline;display:initial}}hr{width:100%;border:none;background:hsla(0,0%,100%,.1);background:var(--border-color);height:1px}.hidden{display:none}.header{display:flex;flex-direction:column;position:relative}@media print{.header{display:none}}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex:1}.header__logo:after{content:"";background:repeating-linear-gradient(90deg,#78e2a0,#78e2a0 2px,transparent 0,transparent 10px);background:repeating-linear-gradient(90deg,var(--accent),var(--accent) 2px,transparent 0,transparent 10px);display:block;width:100%;right:10px}.header__logo a{flex:0 0 auto;max-width:100%;text-decoration:none}.header .menu{--shadow-color:rgba(31, 34, 42, 0.8);--shadow-color:rgba(31, 34, 42, 0.8);--shadow:0 10px var(--shadow-color),-10px 10px var(--shadow-color),10px 10px var(--shadow-color);margin:20px 0}@media (max-width:683px){.header .menu{position:absolute;background:rgb(31, 34, 42);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:50px;right:0}}.header .menu__inner{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}@media (max-width:683px){.header .menu__inner--desktop{display:none}}.header .menu__inner--mobile{display:none}@media (max-width:683px){.header .menu__inner--mobile{display:block}}.header .menu__inner li:not(:last-of-type){margin-right:20px;margin-bottom:10px;flex:0 0 auto}@media (max-width:683px){.header .menu__inner{flex-direction:column;align-items:flex-start;padding:0}.header .menu__inner li{margin:0;padding:5px}}.header .menu__sub-inner{position:relative;list-style:none;padding:0;margin:0}.header .menu__sub-inner:not(:only-child){margin-left:20px}.header .menu__sub-inner-more{position:absolute;background:rgb(31, 34, 42);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;left:0}.header .menu__sub-inner-more-trigger{color:#78e2a0;color:var(--accent);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.header .menu__sub-inner-more li{margin:0;padding:5px;white-space:nowrap}.header .menu .spacer{flex-grow:1}.header .menu .language-selector{position:relative;list-style:none;margin:0}.header .menu .language-selector-current{list-style-type:none;display:flex;flex-direction:row;color:#78e2a0;color:var(--accent);cursor:pointer;margin:0}.header .menu .language-selector__more{position:absolute;background:rgb(31, 34, 42);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;right:0}.header .menu-trigger{color:#78e2a0;color:var(--accent);border:2px solid;margin-left:10px;height:100%;padding:3px 8px;position:relative}.logo{display:flex;align-items:center;text-decoration:none;background:#78e2a0;background:var(--accent);color:#000;padding:5px 10px}.pagination{margin-top:50px}@media print{.pagination{display:none}}.pagination__title{display:flex;text-align:center;position:relative;margin:100px 0 20px}.pagination__title-h{text-align:center;margin:0 auto;padding:5px 10px;background:rgb(31, 34, 42);background:rgb(31, 34, 42);font-size:.8rem;text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center}.pagination__buttons a{text-decoration:none}.button{position:relative;display:inline-flex;flex:1;align-items:center;justify-content:center;font-size:1rem;border-radius:8px;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden}.button+.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-decoration:none}.button__text,.button a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.post,.posts{width:100%}.post{text-align:left;margin:20px auto;padding:20px 0}@media (max-width:899px){.post{max-width:660px}}.post:not(:last-of-type){border-bottom:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid var(--border-color)}.post-meta{font-size:1rem;margin-bottom:10px;color:rgba(120, 226, 160, 0.7);color:rgba(120, 226, 160, 0.7)}.post-title{--border:3px dotted #78e2a0;--border:3px dotted var(--accent);position:relative;color:#78e2a0;color:var(--accent);margin:0 0 15px;padding-bottom:15px;border-bottom:var(--border)}.post-title:after{content:"";position:absolute;bottom:2px;display:block;width:100%;border-bottom:var(--border)}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:1rem;opacity:.5}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{border:20px solid #78e2a0;border:20px solid var(--accent);background:transparent;margin:40px 0;padding:20px}@media (max-width:683px){.post-cover{padding:10px;border-width:10px}}.post ul{list-style:none}.post ul li:before{content:"-";position:absolute;left:-20px;color:#78e2a0;color:var(--accent)}.post--regulation h1,.post--regulation h2{justify-content:center}.post--regulation h2{margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.hanchor{color:rgba(120, 226, 160, 0.9);color:rgba(120, 226, 160, 0.9);text-decoration:none;margin-left:10px;visibility:hidden}h1:hover a,h2:hover a,h3:hover a,h4:hover a{visibility:visible}.language-css .token.string,.language-scss .token.string,.style .token.string,.token.atrule,.token.attr-value,.token.boolean,.token.control,.token.directive,.token.entity,.token.keyword,.token.number,.token.regex,.token.statement,.token.string,.token.url,code.language-css,code.language-scss{color:#78e2a0;color:var(--accent)}.token.atrule-id,.token.attr-name,.token.operator,.token.placeholder,.token.tag-id,.token.unit,.token.variable{color:rgba(120, 226, 160, 0.7);color:rgba(120, 226, 160, 0.7)}.command-line-prompt>span:before,.token.function,.token.property,code.language-html,code.language-javascript{color:rgb(150, 160, 154);color:rgb(150, 160, 154)}.token.punctuation,.token.selector,.token.tag{color:#fff}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:hsla(0,0%,100%,.3)}.token.namespace{opacity:.7}pre[data-line]{position:relative}.line-highlight{position:absolute;left:0;right:0;padding:0;margin:0;background:rgba(150, 160, 154, 0.08);background:rgba(150, 160, 154, 0.08);pointer-events:none;line-height:inherit;white-space:pre}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f5f2f0;font:700 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:after,.line-numbers .line-highlight:before{content:none}:root{--accent:#ffa86a;--phoneWidth:(max-width:684px);--tabletWidth:(max-width:900px);--accent:#78e2a0;--background:rgb(31, 34, 42);--background:rgb(31, 34, 42);--color:#fff;--border-color:hsla(0,0%,100%,0.1)} \ No newline at end of file diff --git a/static/assets/pink.css b/static/assets/pink.css index 79c1ae8..f2da86a 100644 --- a/static/assets/pink.css +++ b/static/assets/pink.css @@ -1 +1 @@ -html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{margin:0;padding:0;font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;font-size:1rem;line-height:1.54;letter-spacing:-.02em;background-color:rgb(33, 32, 44);background-color:rgb(33, 32, 44);color:#fff;color:var(--color);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-webkit-font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%}@media (max-width:683px){body{font-size:1rem}}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3,.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{line-height:1.3}.headings--one-size h1:not(first-child),.headings--one-size h2:not(first-child),.headings--one-size h3:not(first-child),.headings--one-size h4:not(first-child),.headings--one-size h5:not(first-child),.headings--one-size h6:not(first-child){margin-top:40px}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3{font-size:1.4rem}.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{font-size:1.2rem}a{color:inherit}img{display:block;max-width:100%}img.center,img.left{margin-right:auto}img.center,img.right{margin-left:auto}p{margin-bottom:20px}figure{display:table;max-width:100%;margin:25px 0}figure.center,figure.left{margin-right:auto}figure.center,figure.right{margin-left:auto}figure figcaption{font-size:14px;padding:5px 10px;margin-top:5px;background:#ee72f1;background:var(--accent);color:rgb(33, 32, 44);color:var(--background)}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code{font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;-webkit-font-feature-settings:normal;font-feature-settings:normal;background:rgba(238, 114, 241, 0.2);background:rgba(238, 114, 241, 0.2);color:#ee72f1;color:var(--accent);padding:1px 6px;margin:0 2px}code,pre{font-size:.95rem}pre{background:transparent!important;padding:20px 10px;margin:40px 0;overflow:auto;border-top:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid hsla(0,0%,100%,.1)}pre+pre{border-top:0;margin-top:-40px}@media (max-width:683px){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{background:none!important;margin:0;padding:0;font-size:inherit;border:none}blockquote{border-top:1px solid #ee72f1;border-top:1px solid var(--accent);border-bottom:1px solid #ee72f1;border-bottom:1px solid var(--accent);margin:40px 0;padding:25px}@media (max-width:683px){blockquote{padding-right:0}}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}blockquote p{position:relative}blockquote p:before{content:">";display:block;position:absolute;left:-25px;color:#ee72f1;color:var(--accent)}table{table-layout:fixed;border-collapse:collapse;width:100%;margin:40px 0}table,td,th{border:1px dashed #ee72f1;border:1px dashed var(--accent);padding:10px}th{color:#ee72f1;color:var(--accent)}ol,ul{margin-left:30px;padding:0}ol li,ul li{position:relative}@media (max-width:683px){ol,ul{margin-left:20px}}ol ol,ol ul,ul ol,ul ul{margin-top:20px}ol ol{list-style-type:lower-alpha}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;border-right:1px solid hsla(0,0%,100%,.1)}.container.center,.container.full{border:none;margin:0 auto}.container.full{max-width:100%}@media (max-width:683px){.container{padding:20px}}.content{display:flex}hr{width:100%;border:none;background:hsla(0,0%,100%,.1);background:var(--border-color);height:1px}.hidden{display:none}.header{display:flex;flex-direction:column;position:relative}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex:1}.header__logo:after{content:"";background:repeating-linear-gradient(90deg,#ee72f1,#ee72f1 2px,transparent 0,transparent 10px);background:repeating-linear-gradient(90deg,var(--accent),var(--accent) 2px,transparent 0,transparent 10px);display:block;width:100%;right:10px}.header__logo a{flex:0 0 auto;max-width:100%;text-decoration:none}.header .menu{--shadow-color:rgba(33, 32, 44, 0.8);--shadow-color:rgba(33, 32, 44, 0.8);--shadow:0 10px var(--shadow-color),-10px 10px var(--shadow-color),10px 10px var(--shadow-color);margin:20px 0}@media (max-width:683px){.header .menu{position:absolute;background:rgb(33, 32, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:50px;right:0}}.header .menu__inner{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}@media (max-width:683px){.header .menu__inner--desktop{display:none}}.header .menu__inner--mobile{display:none}@media (max-width:683px){.header .menu__inner--mobile{display:block}}.header .menu__inner li:not(:last-of-type){margin-right:20px;margin-bottom:10px;flex:0 0 auto}@media (max-width:683px){.header .menu__inner{flex-direction:column;align-items:flex-start;padding:0}.header .menu__inner li{margin:0;padding:5px}}.header .menu__sub-inner{position:relative;list-style:none;padding:0;margin:0}.header .menu__sub-inner:not(:only-child){margin-left:20px}.header .menu__sub-inner-more{position:absolute;background:rgb(33, 32, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;left:0}.header .menu__sub-inner-more-trigger{color:#ee72f1;color:var(--accent);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.header .menu__sub-inner-more li{margin:0;padding:5px;white-space:nowrap}.header .menu .spacer{flex-grow:1}.header .menu .language-selector{position:relative;list-style:none;margin:0}.header .menu .language-selector-current{list-style-type:none;display:flex;flex-direction:row;color:#ee72f1;color:var(--accent);cursor:pointer;margin:0}.header .menu .language-selector__more{position:absolute;background:rgb(33, 32, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;right:0}.header .menu-trigger{color:#ee72f1;color:var(--accent);border:2px solid;margin-left:10px;height:100%;padding:3px 8px;position:relative}.logo{display:flex;align-items:center;text-decoration:none;background:#ee72f1;background:var(--accent);color:#000;padding:5px 10px}.pagination{margin-top:50px}.pagination__title{display:flex;text-align:center;position:relative;margin:100px 0 20px}.pagination__title-h{text-align:center;margin:0 auto;padding:5px 10px;background:rgb(33, 32, 44);background:rgb(33, 32, 44);font-size:.8rem;text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center}.pagination__buttons a{text-decoration:none}.button{position:relative;display:inline-flex;flex:1;align-items:center;justify-content:center;font-size:1rem;border-radius:8px;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden}.button+.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-decoration:none}.button__text,.button a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.post,.posts{width:100%}.post{text-align:left;margin:20px auto;padding:20px 0}@media (max-width:899px){.post{max-width:660px}}.post:not(:last-of-type){border-bottom:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid var(--border-color)}.post-meta{font-size:1rem;margin-bottom:10px;color:rgba(238, 114, 241, 0.7);color:rgba(238, 114, 241, 0.7)}.post-title{--border:3px dotted #ee72f1;--border:3px dotted var(--accent);position:relative;color:#ee72f1;color:var(--accent);margin:0 0 15px;padding-bottom:15px;border-bottom:var(--border)}.post-title:after{content:"";position:absolute;bottom:2px;display:block;width:100%;border-bottom:var(--border)}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:1rem;opacity:.5}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{border:20px solid #ee72f1;border:20px solid var(--accent);background:transparent;margin:40px 0;padding:20px}@media (max-width:683px){.post-cover{padding:10px;border-width:10px}}.post ul{list-style:none}.post ul li:before{content:"\25BA";position:absolute;left:-20px;color:#ee72f1;color:var(--accent)}.post--regulation h1,.post--regulation h2{justify-content:center}.post--regulation h2{margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.hanchor{color:rgba(238, 114, 241, 0.9);color:rgba(238, 114, 241, 0.9);text-decoration:none;margin-left:10px;visibility:hidden}h1:hover a,h2:hover a,h3:hover a,h4:hover a{visibility:visible}.language-css .token.string,.language-scss .token.string,.style .token.string,.token.atrule,.token.attr-value,.token.boolean,.token.control,.token.directive,.token.entity,.token.keyword,.token.number,.token.regex,.token.statement,.token.string,.token.url,code.language-css,code.language-scss{color:#ee72f1;color:var(--accent)}.token.atrule-id,.token.attr-name,.token.operator,.token.placeholder,.token.tag-id,.token.unit,.token.variable{color:rgba(238, 114, 241, 0.7);color:rgba(238, 114, 241, 0.7)}.command-line-prompt>span:before,.token.function,.token.property,code.language-html,code.language-javascript{color:rgb(162, 149, 162);color:rgb(162, 149, 162)}.token.punctuation,.token.selector,.token.tag{color:#fff}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:hsla(0,0%,100%,.3)}.token.namespace{opacity:.7}pre[data-line]{position:relative}.line-highlight{position:absolute;left:0;right:0;padding:0;margin:0;background:rgba(162, 149, 162, 0.08);background:rgba(162, 149, 162, 0.08);pointer-events:none;line-height:inherit;white-space:pre}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f5f2f0;font:700 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:after,.line-numbers .line-highlight:before{content:none}:root{--accent:#ffa86a;--phoneWidth:(max-width:684px);--tabletWidth:(max-width:900px)}:root{--accent:#ee72f1;--background:rgb(33, 32, 44);--background:rgb(33, 32, 44);--color:#fff;--border-color:hsla(0,0%,100%,0.1)} \ No newline at end of file +html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{margin:0;padding:0;font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;font-size:1rem;line-height:1.54;letter-spacing:-.02em;background-color:rgb(33, 32, 44);background-color:rgb(33, 32, 44);color:#fff;color:var(--color);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-webkit-font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%}@media (max-width:683px){body{font-size:1rem}}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3,.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{line-height:1.3}.headings--one-size h1:not(first-child),.headings--one-size h2:not(first-child),.headings--one-size h3:not(first-child),.headings--one-size h4:not(first-child),.headings--one-size h5:not(first-child),.headings--one-size h6:not(first-child){margin-top:40px}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3{font-size:1.4rem}.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{font-size:1.2rem}a{color:inherit}img{display:block;max-width:100%}img.center,img.left{margin-right:auto}img.center,img.right{margin-left:auto}p{margin-bottom:20px}figure{display:table;max-width:100%;margin:25px 0}figure.center,figure.left{margin-right:auto}figure.center,figure.right{margin-left:auto}figure figcaption{font-size:14px;padding:5px 10px;margin-top:5px;background:#ee72f1;background:var(--accent);color:rgb(33, 32, 44);color:var(--background)}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code{font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;-webkit-font-feature-settings:normal;font-feature-settings:normal;background:rgba(238, 114, 241, 0.2);background:rgba(238, 114, 241, 0.2);color:#ee72f1;color:var(--accent);padding:1px 6px;margin:0 2px}code,pre{font-size:.95rem}pre{background:transparent!important;padding:20px 10px;margin:40px 0;overflow:auto;border-top:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid hsla(0,0%,100%,.1)}pre+pre{border-top:0;margin-top:-40px}@media (max-width:683px){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{background:none!important;margin:0;padding:0;font-size:inherit;border:none}blockquote{border-top:1px solid #ee72f1;border-top:1px solid var(--accent);border-bottom:1px solid #ee72f1;border-bottom:1px solid var(--accent);margin:40px 0;padding:25px}@media (max-width:683px){blockquote{padding-right:0}}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}blockquote p{position:relative}blockquote p:before{content:">";display:block;position:absolute;left:-25px;color:#ee72f1;color:var(--accent)}table{table-layout:fixed;border-collapse:collapse;width:100%;margin:40px 0}table,td,th{border:1px dashed #ee72f1;border:1px dashed var(--accent);padding:10px}th{color:#ee72f1;color:var(--accent)}ol,ul{margin-left:30px;padding:0}ol li,ul li{position:relative}@media (max-width:683px){ol,ul{margin-left:20px}}ol ol{list-style-type:lower-alpha}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;border-right:1px solid hsla(0,0%,100%,.1)}.container.center,.container.full{border:none;margin:0 auto}.container.full{max-width:100%}@media (max-width:683px){.container{padding:20px}}@media print{.container{display:inline;display:initial}}.content{display:flex}@media print{.content{display:inline;display:initial}}hr{width:100%;border:none;background:hsla(0,0%,100%,.1);background:var(--border-color);height:1px}.hidden{display:none}.header{display:flex;flex-direction:column;position:relative}@media print{.header{display:none}}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex:1}.header__logo:after{content:"";background:repeating-linear-gradient(90deg,#ee72f1,#ee72f1 2px,transparent 0,transparent 10px);background:repeating-linear-gradient(90deg,var(--accent),var(--accent) 2px,transparent 0,transparent 10px);display:block;width:100%;right:10px}.header__logo a{flex:0 0 auto;max-width:100%;text-decoration:none}.header .menu{--shadow-color:rgba(33, 32, 44, 0.8);--shadow-color:rgba(33, 32, 44, 0.8);--shadow:0 10px var(--shadow-color),-10px 10px var(--shadow-color),10px 10px var(--shadow-color);margin:20px 0}@media (max-width:683px){.header .menu{position:absolute;background:rgb(33, 32, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:50px;right:0}}.header .menu__inner{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}@media (max-width:683px){.header .menu__inner--desktop{display:none}}.header .menu__inner--mobile{display:none}@media (max-width:683px){.header .menu__inner--mobile{display:block}}.header .menu__inner li:not(:last-of-type){margin-right:20px;margin-bottom:10px;flex:0 0 auto}@media (max-width:683px){.header .menu__inner{flex-direction:column;align-items:flex-start;padding:0}.header .menu__inner li{margin:0;padding:5px}}.header .menu__sub-inner{position:relative;list-style:none;padding:0;margin:0}.header .menu__sub-inner:not(:only-child){margin-left:20px}.header .menu__sub-inner-more{position:absolute;background:rgb(33, 32, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;left:0}.header .menu__sub-inner-more-trigger{color:#ee72f1;color:var(--accent);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.header .menu__sub-inner-more li{margin:0;padding:5px;white-space:nowrap}.header .menu .spacer{flex-grow:1}.header .menu .language-selector{position:relative;list-style:none;margin:0}.header .menu .language-selector-current{list-style-type:none;display:flex;flex-direction:row;color:#ee72f1;color:var(--accent);cursor:pointer;margin:0}.header .menu .language-selector__more{position:absolute;background:rgb(33, 32, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;right:0}.header .menu-trigger{color:#ee72f1;color:var(--accent);border:2px solid;margin-left:10px;height:100%;padding:3px 8px;position:relative}.logo{display:flex;align-items:center;text-decoration:none;background:#ee72f1;background:var(--accent);color:#000;padding:5px 10px}.pagination{margin-top:50px}@media print{.pagination{display:none}}.pagination__title{display:flex;text-align:center;position:relative;margin:100px 0 20px}.pagination__title-h{text-align:center;margin:0 auto;padding:5px 10px;background:rgb(33, 32, 44);background:rgb(33, 32, 44);font-size:.8rem;text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center}.pagination__buttons a{text-decoration:none}.button{position:relative;display:inline-flex;flex:1;align-items:center;justify-content:center;font-size:1rem;border-radius:8px;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden}.button+.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-decoration:none}.button__text,.button a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.post,.posts{width:100%}.post{text-align:left;margin:20px auto;padding:20px 0}@media (max-width:899px){.post{max-width:660px}}.post:not(:last-of-type){border-bottom:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid var(--border-color)}.post-meta{font-size:1rem;margin-bottom:10px;color:rgba(238, 114, 241, 0.7);color:rgba(238, 114, 241, 0.7)}.post-title{--border:3px dotted #ee72f1;--border:3px dotted var(--accent);position:relative;color:#ee72f1;color:var(--accent);margin:0 0 15px;padding-bottom:15px;border-bottom:var(--border)}.post-title:after{content:"";position:absolute;bottom:2px;display:block;width:100%;border-bottom:var(--border)}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:1rem;opacity:.5}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{border:20px solid #ee72f1;border:20px solid var(--accent);background:transparent;margin:40px 0;padding:20px}@media (max-width:683px){.post-cover{padding:10px;border-width:10px}}.post ul{list-style:none}.post ul li:before{content:"-";position:absolute;left:-20px;color:#ee72f1;color:var(--accent)}.post--regulation h1,.post--regulation h2{justify-content:center}.post--regulation h2{margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.hanchor{color:rgba(238, 114, 241, 0.9);color:rgba(238, 114, 241, 0.9);text-decoration:none;margin-left:10px;visibility:hidden}h1:hover a,h2:hover a,h3:hover a,h4:hover a{visibility:visible}.language-css .token.string,.language-scss .token.string,.style .token.string,.token.atrule,.token.attr-value,.token.boolean,.token.control,.token.directive,.token.entity,.token.keyword,.token.number,.token.regex,.token.statement,.token.string,.token.url,code.language-css,code.language-scss{color:#ee72f1;color:var(--accent)}.token.atrule-id,.token.attr-name,.token.operator,.token.placeholder,.token.tag-id,.token.unit,.token.variable{color:rgba(238, 114, 241, 0.7);color:rgba(238, 114, 241, 0.7)}.command-line-prompt>span:before,.token.function,.token.property,code.language-html,code.language-javascript{color:rgb(162, 149, 162);color:rgb(162, 149, 162)}.token.punctuation,.token.selector,.token.tag{color:#fff}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:hsla(0,0%,100%,.3)}.token.namespace{opacity:.7}pre[data-line]{position:relative}.line-highlight{position:absolute;left:0;right:0;padding:0;margin:0;background:rgba(162, 149, 162, 0.08);background:rgba(162, 149, 162, 0.08);pointer-events:none;line-height:inherit;white-space:pre}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f5f2f0;font:700 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:after,.line-numbers .line-highlight:before{content:none}:root{--accent:#ffa86a;--phoneWidth:(max-width:684px);--tabletWidth:(max-width:900px);--accent:#ee72f1;--background:rgb(33, 32, 44);--background:rgb(33, 32, 44);--color:#fff;--border-color:hsla(0,0%,100%,0.1)} \ No newline at end of file diff --git a/static/assets/prism.js b/static/assets/prism.js index d9d5ee1..6465402 100644 --- a/static/assets/prism.js +++ b/static/assets/prism.js @@ -93,7 +93,7 @@ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("/*!\n * clipboard.js v2.0.4\n * https://zenorocha.github.io/clipboard.js\n * \n * Licensed MIT © Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse {}\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _clipboardAction = __webpack_require__(1);\n\nvar _clipboardAction2 = _interopRequireDefault(_clipboardAction);\n\nvar _tinyEmitter = __webpack_require__(3);\n\nvar _tinyEmitter2 = _interopRequireDefault(_tinyEmitter);\n\nvar _goodListener = __webpack_require__(4);\n\nvar _goodListener2 = _interopRequireDefault(_goodListener);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\nvar Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\n\n _this.resolveOptions(options);\n _this.listenClick(trigger);\n return _this;\n }\n\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = _typeof(options.container) === 'object' ? options.container : document.body;\n }\n\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: 'listenClick',\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = (0, _goodListener2.default)(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: 'onClick',\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new _clipboardAction2.default({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n container: this.container,\n trigger: trigger,\n emitter: this\n });\n }\n\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: 'defaultAction',\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: 'defaultTarget',\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: 'defaultText',\n\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: 'destroy',\n value: function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n }\n }], [{\n key: 'isSupported',\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n\n return support;\n }\n }]);\n\n return Clipboard;\n}(_tinyEmitter2.default);\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\n\nfunction getAttributeValue(suffix, element) {\n var attribute = 'data-clipboard-' + suffix;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n\nmodule.exports = Clipboard;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _select = __webpack_require__(2);\n\nvar _select2 = _interopRequireDefault(_select);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Inner class which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n */\nvar ClipboardAction = function () {\n /**\n * @param {Object} options\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\n\n\n _createClass(ClipboardAction, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = options.action;\n this.container = options.container;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n\n this.selectedText = '';\n }\n\n /**\n * Decides which selection strategy is going to be applied based\n * on the existence of `text` and `target` properties.\n */\n\n }, {\n key: 'initSelection',\n value: function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n }\n\n /**\n * Creates a fake textarea element, sets its value from `text` property,\n * and makes a selection on it.\n */\n\n }, {\n key: 'selectFake',\n value: function selectFake() {\n var _this = this;\n\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\n\n this.removeFake();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\n\n this.fakeElem = document.createElement('textarea');\n // Prevent zooming on iOS\n this.fakeElem.style.fontSize = '12pt';\n // Reset box model\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0';\n // Move element out of screen horizontally\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n this.fakeElem.style.top = yPosition + 'px';\n\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n this.container.appendChild(this.fakeElem);\n\n this.selectedText = (0, _select2.default)(this.fakeElem);\n this.copyText();\n }\n\n /**\n * Only removes the fake element after another click event, that way\n * a user can hit `Ctrl+C` to copy because selection still exists.\n */\n\n }, {\n key: 'removeFake',\n value: function removeFake() {\n if (this.fakeHandler) {\n this.container.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n this.container.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n }\n\n /**\n * Selects the content from element passed on `target` property.\n */\n\n }, {\n key: 'selectTarget',\n value: function selectTarget() {\n this.selectedText = (0, _select2.default)(this.target);\n this.copyText();\n }\n\n /**\n * Executes the copy operation based on the current selection.\n */\n\n }, {\n key: 'copyText',\n value: function copyText() {\n var succeeded = void 0;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n }\n\n /**\n * Fires an event based on the copy operation result.\n * @param {Boolean} succeeded\n */\n\n }, {\n key: 'handleResult',\n value: function handleResult(succeeded) {\n this.emitter.emit(succeeded ? 'success' : 'error', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n\n /**\n * Moves focus away from `target` and back to the trigger, removes current selection.\n */\n\n }, {\n key: 'clearSelection',\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n\n /**\n * Sets the `action` to be performed which can be either 'copy' or 'cut'.\n * @param {String} action\n */\n\n }, {\n key: 'destroy',\n\n\n /**\n * Destroy lifecycle.\n */\n value: function destroy() {\n this.removeFake();\n }\n }, {\n key: 'action',\n set: function set() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\n\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n }\n\n /**\n * Gets the `action` property.\n * @return {String}\n */\n ,\n get: function get() {\n return this._action;\n }\n\n /**\n * Sets the `target` property using an element\n * that will be have its content copied.\n * @param {Element} target\n */\n\n }, {\n key: 'target',\n set: function set(target) {\n if (target !== undefined) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n }\n\n /**\n * Gets the `target` property.\n * @return {String|HTMLElement}\n */\n ,\n get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n}();\n\nmodule.exports = ClipboardAction;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar is = __webpack_require__(5);\nvar delegate = __webpack_require__(6);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar closest = __webpack_require__(7);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ })\n/******/ ]);\n});\n\n//# sourceURL=webpack:///./node_modules/clipboard/dist/clipboard.js?"); +eval("/*!\n * clipboard.js v2.0.6\n * https://clipboardjs.com/\n * \n * Licensed MIT © Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse {}\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 6);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar is = __webpack_require__(3);\nvar delegate = __webpack_require__(4);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar closest = __webpack_require__(5);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(0);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n\n// CONCATENATED MODULE: ./src/clipboard-action.js\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\n/**\n * Inner class which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n */\n\nvar clipboard_action_ClipboardAction = function () {\n /**\n * @param {Object} options\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\n\n\n _createClass(ClipboardAction, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = options.action;\n this.container = options.container;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n\n this.selectedText = '';\n }\n\n /**\n * Decides which selection strategy is going to be applied based\n * on the existence of `text` and `target` properties.\n */\n\n }, {\n key: 'initSelection',\n value: function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n }\n\n /**\n * Creates a fake textarea element, sets its value from `text` property,\n * and makes a selection on it.\n */\n\n }, {\n key: 'selectFake',\n value: function selectFake() {\n var _this = this;\n\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\n\n this.removeFake();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\n\n this.fakeElem = document.createElement('textarea');\n // Prevent zooming on iOS\n this.fakeElem.style.fontSize = '12pt';\n // Reset box model\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0';\n // Move element out of screen horizontally\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n this.fakeElem.style.top = yPosition + 'px';\n\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n this.container.appendChild(this.fakeElem);\n\n this.selectedText = select_default()(this.fakeElem);\n this.copyText();\n }\n\n /**\n * Only removes the fake element after another click event, that way\n * a user can hit `Ctrl+C` to copy because selection still exists.\n */\n\n }, {\n key: 'removeFake',\n value: function removeFake() {\n if (this.fakeHandler) {\n this.container.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n this.container.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n }\n\n /**\n * Selects the content from element passed on `target` property.\n */\n\n }, {\n key: 'selectTarget',\n value: function selectTarget() {\n this.selectedText = select_default()(this.target);\n this.copyText();\n }\n\n /**\n * Executes the copy operation based on the current selection.\n */\n\n }, {\n key: 'copyText',\n value: function copyText() {\n var succeeded = void 0;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n }\n\n /**\n * Fires an event based on the copy operation result.\n * @param {Boolean} succeeded\n */\n\n }, {\n key: 'handleResult',\n value: function handleResult(succeeded) {\n this.emitter.emit(succeeded ? 'success' : 'error', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n\n /**\n * Moves focus away from `target` and back to the trigger, removes current selection.\n */\n\n }, {\n key: 'clearSelection',\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n document.activeElement.blur();\n window.getSelection().removeAllRanges();\n }\n\n /**\n * Sets the `action` to be performed which can be either 'copy' or 'cut'.\n * @param {String} action\n */\n\n }, {\n key: 'destroy',\n\n\n /**\n * Destroy lifecycle.\n */\n value: function destroy() {\n this.removeFake();\n }\n }, {\n key: 'action',\n set: function set() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\n\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n }\n\n /**\n * Gets the `action` property.\n * @return {String}\n */\n ,\n get: function get() {\n return this._action;\n }\n\n /**\n * Sets the `target` property using an element\n * that will be have its content copied.\n * @param {Element} target\n */\n\n }, {\n key: 'target',\n set: function set(target) {\n if (target !== undefined) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n }\n\n /**\n * Gets the `target` property.\n * @return {String|HTMLElement}\n */\n ,\n get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n}();\n\n/* harmony default export */ var clipboard_action = (clipboard_action_ClipboardAction);\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(1);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(2);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n\n// CONCATENATED MODULE: ./src/clipboard.js\nvar clipboard_typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar clipboard_createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction clipboard_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\nvar clipboard_Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n clipboard_classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\n\n _this.resolveOptions(options);\n _this.listenClick(trigger);\n return _this;\n }\n\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n clipboard_createClass(Clipboard, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: 'listenClick',\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: 'onClick',\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new clipboard_action({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n container: this.container,\n trigger: trigger,\n emitter: this\n });\n }\n\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: 'defaultAction',\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: 'defaultTarget',\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: 'defaultText',\n\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: 'destroy',\n value: function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n }\n }], [{\n key: 'isSupported',\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n\n return support;\n }\n }]);\n\n return Clipboard;\n}(tiny_emitter_default.a);\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\n\nfunction getAttributeValue(suffix, element) {\n var attribute = 'data-clipboard-' + suffix;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n\n/* harmony default export */ var clipboard = __webpack_exports__[\"default\"] = (clipboard_Clipboard);\n\n/***/ })\n/******/ ])[\"default\"];\n});\n\n//# sourceURL=webpack:///./node_modules/clipboard/dist/clipboard.js?"); /***/ }), diff --git a/static/assets/red.css b/static/assets/red.css index 64c4bad..dcb54d0 100644 --- a/static/assets/red.css +++ b/static/assets/red.css @@ -1 +1 @@ -html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{margin:0;padding:0;font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;font-size:1rem;line-height:1.54;letter-spacing:-.02em;background-color:rgb(34, 31, 41);background-color:rgb(34, 31, 41);color:#fff;color:var(--color);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-webkit-font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%}@media (max-width:683px){body{font-size:1rem}}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3,.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{line-height:1.3}.headings--one-size h1:not(first-child),.headings--one-size h2:not(first-child),.headings--one-size h3:not(first-child),.headings--one-size h4:not(first-child),.headings--one-size h5:not(first-child),.headings--one-size h6:not(first-child){margin-top:40px}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3{font-size:1.4rem}.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{font-size:1.2rem}a{color:inherit}img{display:block;max-width:100%}img.center,img.left{margin-right:auto}img.center,img.right{margin-left:auto}p{margin-bottom:20px}figure{display:table;max-width:100%;margin:25px 0}figure.center,figure.left{margin-right:auto}figure.center,figure.right{margin-left:auto}figure figcaption{font-size:14px;padding:5px 10px;margin-top:5px;background:#ff6266;background:var(--accent);color:rgb(34, 31, 41);color:var(--background)}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code{font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;-webkit-font-feature-settings:normal;font-feature-settings:normal;background:rgba(255, 98, 102, 0.2);background:rgba(255, 98, 102, 0.2);color:#ff6266;color:var(--accent);padding:1px 6px;margin:0 2px}code,pre{font-size:.95rem}pre{background:transparent!important;padding:20px 10px;margin:40px 0;overflow:auto;border-top:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid hsla(0,0%,100%,.1)}pre+pre{border-top:0;margin-top:-40px}@media (max-width:683px){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{background:none!important;margin:0;padding:0;font-size:inherit;border:none}blockquote{border-top:1px solid #ff6266;border-top:1px solid var(--accent);border-bottom:1px solid #ff6266;border-bottom:1px solid var(--accent);margin:40px 0;padding:25px}@media (max-width:683px){blockquote{padding-right:0}}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}blockquote p{position:relative}blockquote p:before{content:">";display:block;position:absolute;left:-25px;color:#ff6266;color:var(--accent)}table{table-layout:fixed;border-collapse:collapse;width:100%;margin:40px 0}table,td,th{border:1px dashed #ff6266;border:1px dashed var(--accent);padding:10px}th{color:#ff6266;color:var(--accent)}ol,ul{margin-left:30px;padding:0}ol li,ul li{position:relative}@media (max-width:683px){ol,ul{margin-left:20px}}ol ol,ol ul,ul ol,ul ul{margin-top:20px}ol ol{list-style-type:lower-alpha}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;border-right:1px solid hsla(0,0%,100%,.1)}.container.center,.container.full{border:none;margin:0 auto}.container.full{max-width:100%}@media (max-width:683px){.container{padding:20px}}.content{display:flex}hr{width:100%;border:none;background:hsla(0,0%,100%,.1);background:var(--border-color);height:1px}.hidden{display:none}.header{display:flex;flex-direction:column;position:relative}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex:1}.header__logo:after{content:"";background:repeating-linear-gradient(90deg,#ff6266,#ff6266 2px,transparent 0,transparent 10px);background:repeating-linear-gradient(90deg,var(--accent),var(--accent) 2px,transparent 0,transparent 10px);display:block;width:100%;right:10px}.header__logo a{flex:0 0 auto;max-width:100%;text-decoration:none}.header .menu{--shadow-color:rgba(34, 31, 41, 0.8);--shadow-color:rgba(34, 31, 41, 0.8);--shadow:0 10px var(--shadow-color),-10px 10px var(--shadow-color),10px 10px var(--shadow-color);margin:20px 0}@media (max-width:683px){.header .menu{position:absolute;background:rgb(34, 31, 41);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:50px;right:0}}.header .menu__inner{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}@media (max-width:683px){.header .menu__inner--desktop{display:none}}.header .menu__inner--mobile{display:none}@media (max-width:683px){.header .menu__inner--mobile{display:block}}.header .menu__inner li:not(:last-of-type){margin-right:20px;margin-bottom:10px;flex:0 0 auto}@media (max-width:683px){.header .menu__inner{flex-direction:column;align-items:flex-start;padding:0}.header .menu__inner li{margin:0;padding:5px}}.header .menu__sub-inner{position:relative;list-style:none;padding:0;margin:0}.header .menu__sub-inner:not(:only-child){margin-left:20px}.header .menu__sub-inner-more{position:absolute;background:rgb(34, 31, 41);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;left:0}.header .menu__sub-inner-more-trigger{color:#ff6266;color:var(--accent);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.header .menu__sub-inner-more li{margin:0;padding:5px;white-space:nowrap}.header .menu .spacer{flex-grow:1}.header .menu .language-selector{position:relative;list-style:none;margin:0}.header .menu .language-selector-current{list-style-type:none;display:flex;flex-direction:row;color:#ff6266;color:var(--accent);cursor:pointer;margin:0}.header .menu .language-selector__more{position:absolute;background:rgb(34, 31, 41);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;right:0}.header .menu-trigger{color:#ff6266;color:var(--accent);border:2px solid;margin-left:10px;height:100%;padding:3px 8px;position:relative}.logo{display:flex;align-items:center;text-decoration:none;background:#ff6266;background:var(--accent);color:#000;padding:5px 10px}.pagination{margin-top:50px}.pagination__title{display:flex;text-align:center;position:relative;margin:100px 0 20px}.pagination__title-h{text-align:center;margin:0 auto;padding:5px 10px;background:rgb(34, 31, 41);background:rgb(34, 31, 41);font-size:.8rem;text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center}.pagination__buttons a{text-decoration:none}.button{position:relative;display:inline-flex;flex:1;align-items:center;justify-content:center;font-size:1rem;border-radius:8px;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden}.button+.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-decoration:none}.button__text,.button a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.post,.posts{width:100%}.post{text-align:left;margin:20px auto;padding:20px 0}@media (max-width:899px){.post{max-width:660px}}.post:not(:last-of-type){border-bottom:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid var(--border-color)}.post-meta{font-size:1rem;margin-bottom:10px;color:rgba(255, 98, 102, 0.7);color:rgba(255, 98, 102, 0.7)}.post-title{--border:3px dotted #ff6266;--border:3px dotted var(--accent);position:relative;color:#ff6266;color:var(--accent);margin:0 0 15px;padding-bottom:15px;border-bottom:var(--border)}.post-title:after{content:"";position:absolute;bottom:2px;display:block;width:100%;border-bottom:var(--border)}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:1rem;opacity:.5}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{border:20px solid #ff6266;border:20px solid var(--accent);background:transparent;margin:40px 0;padding:20px}@media (max-width:683px){.post-cover{padding:10px;border-width:10px}}.post ul{list-style:none}.post ul li:before{content:"\25BA";position:absolute;left:-20px;color:#ff6266;color:var(--accent)}.post--regulation h1,.post--regulation h2{justify-content:center}.post--regulation h2{margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.hanchor{color:rgba(255, 98, 102, 0.9);color:rgba(255, 98, 102, 0.9);text-decoration:none;margin-left:10px;visibility:hidden}h1:hover a,h2:hover a,h3:hover a,h4:hover a{visibility:visible}.language-css .token.string,.language-scss .token.string,.style .token.string,.token.atrule,.token.attr-value,.token.boolean,.token.control,.token.directive,.token.entity,.token.keyword,.token.number,.token.regex,.token.statement,.token.string,.token.url,code.language-css,code.language-scss{color:#ff6266;color:var(--accent)}.token.atrule-id,.token.attr-name,.token.operator,.token.placeholder,.token.tag-id,.token.unit,.token.variable{color:rgba(255, 98, 102, 0.7);color:rgba(255, 98, 102, 0.7)}.command-line-prompt>span:before,.token.function,.token.property,code.language-html,code.language-javascript{color:rgb(163, 148, 148);color:rgb(163, 148, 148)}.token.punctuation,.token.selector,.token.tag{color:#fff}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:hsla(0,0%,100%,.3)}.token.namespace{opacity:.7}pre[data-line]{position:relative}.line-highlight{position:absolute;left:0;right:0;padding:0;margin:0;background:rgba(163, 148, 148, 0.08);background:rgba(163, 148, 148, 0.08);pointer-events:none;line-height:inherit;white-space:pre}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f5f2f0;font:700 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:after,.line-numbers .line-highlight:before{content:none}:root{--accent:#ffa86a;--phoneWidth:(max-width:684px);--tabletWidth:(max-width:900px)}:root{--accent:#ff6266;--background:rgb(34, 31, 41);--background:rgb(34, 31, 41);--color:#fff;--border-color:hsla(0,0%,100%,0.1)} \ No newline at end of file +html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{margin:0;padding:0;font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;font-size:1rem;line-height:1.54;letter-spacing:-.02em;background-color:rgb(34, 31, 41);background-color:rgb(34, 31, 41);color:#fff;color:var(--color);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-webkit-font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%}@media (max-width:683px){body{font-size:1rem}}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3,.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{line-height:1.3}.headings--one-size h1:not(first-child),.headings--one-size h2:not(first-child),.headings--one-size h3:not(first-child),.headings--one-size h4:not(first-child),.headings--one-size h5:not(first-child),.headings--one-size h6:not(first-child){margin-top:40px}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3{font-size:1.4rem}.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{font-size:1.2rem}a{color:inherit}img{display:block;max-width:100%}img.center,img.left{margin-right:auto}img.center,img.right{margin-left:auto}p{margin-bottom:20px}figure{display:table;max-width:100%;margin:25px 0}figure.center,figure.left{margin-right:auto}figure.center,figure.right{margin-left:auto}figure figcaption{font-size:14px;padding:5px 10px;margin-top:5px;background:#ff6266;background:var(--accent);color:rgb(34, 31, 41);color:var(--background)}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code{font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;-webkit-font-feature-settings:normal;font-feature-settings:normal;background:rgba(255, 98, 102, 0.2);background:rgba(255, 98, 102, 0.2);color:#ff6266;color:var(--accent);padding:1px 6px;margin:0 2px}code,pre{font-size:.95rem}pre{background:transparent!important;padding:20px 10px;margin:40px 0;overflow:auto;border-top:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid hsla(0,0%,100%,.1)}pre+pre{border-top:0;margin-top:-40px}@media (max-width:683px){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{background:none!important;margin:0;padding:0;font-size:inherit;border:none}blockquote{border-top:1px solid #ff6266;border-top:1px solid var(--accent);border-bottom:1px solid #ff6266;border-bottom:1px solid var(--accent);margin:40px 0;padding:25px}@media (max-width:683px){blockquote{padding-right:0}}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}blockquote p{position:relative}blockquote p:before{content:">";display:block;position:absolute;left:-25px;color:#ff6266;color:var(--accent)}table{table-layout:fixed;border-collapse:collapse;width:100%;margin:40px 0}table,td,th{border:1px dashed #ff6266;border:1px dashed var(--accent);padding:10px}th{color:#ff6266;color:var(--accent)}ol,ul{margin-left:30px;padding:0}ol li,ul li{position:relative}@media (max-width:683px){ol,ul{margin-left:20px}}ol ol{list-style-type:lower-alpha}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;border-right:1px solid hsla(0,0%,100%,.1)}.container.center,.container.full{border:none;margin:0 auto}.container.full{max-width:100%}@media (max-width:683px){.container{padding:20px}}@media print{.container{display:inline;display:initial}}.content{display:flex}@media print{.content{display:inline;display:initial}}hr{width:100%;border:none;background:hsla(0,0%,100%,.1);background:var(--border-color);height:1px}.hidden{display:none}.header{display:flex;flex-direction:column;position:relative}@media print{.header{display:none}}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex:1}.header__logo:after{content:"";background:repeating-linear-gradient(90deg,#ff6266,#ff6266 2px,transparent 0,transparent 10px);background:repeating-linear-gradient(90deg,var(--accent),var(--accent) 2px,transparent 0,transparent 10px);display:block;width:100%;right:10px}.header__logo a{flex:0 0 auto;max-width:100%;text-decoration:none}.header .menu{--shadow-color:rgba(34, 31, 41, 0.8);--shadow-color:rgba(34, 31, 41, 0.8);--shadow:0 10px var(--shadow-color),-10px 10px var(--shadow-color),10px 10px var(--shadow-color);margin:20px 0}@media (max-width:683px){.header .menu{position:absolute;background:rgb(34, 31, 41);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:50px;right:0}}.header .menu__inner{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}@media (max-width:683px){.header .menu__inner--desktop{display:none}}.header .menu__inner--mobile{display:none}@media (max-width:683px){.header .menu__inner--mobile{display:block}}.header .menu__inner li:not(:last-of-type){margin-right:20px;margin-bottom:10px;flex:0 0 auto}@media (max-width:683px){.header .menu__inner{flex-direction:column;align-items:flex-start;padding:0}.header .menu__inner li{margin:0;padding:5px}}.header .menu__sub-inner{position:relative;list-style:none;padding:0;margin:0}.header .menu__sub-inner:not(:only-child){margin-left:20px}.header .menu__sub-inner-more{position:absolute;background:rgb(34, 31, 41);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;left:0}.header .menu__sub-inner-more-trigger{color:#ff6266;color:var(--accent);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.header .menu__sub-inner-more li{margin:0;padding:5px;white-space:nowrap}.header .menu .spacer{flex-grow:1}.header .menu .language-selector{position:relative;list-style:none;margin:0}.header .menu .language-selector-current{list-style-type:none;display:flex;flex-direction:row;color:#ff6266;color:var(--accent);cursor:pointer;margin:0}.header .menu .language-selector__more{position:absolute;background:rgb(34, 31, 41);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;right:0}.header .menu-trigger{color:#ff6266;color:var(--accent);border:2px solid;margin-left:10px;height:100%;padding:3px 8px;position:relative}.logo{display:flex;align-items:center;text-decoration:none;background:#ff6266;background:var(--accent);color:#000;padding:5px 10px}.pagination{margin-top:50px}@media print{.pagination{display:none}}.pagination__title{display:flex;text-align:center;position:relative;margin:100px 0 20px}.pagination__title-h{text-align:center;margin:0 auto;padding:5px 10px;background:rgb(34, 31, 41);background:rgb(34, 31, 41);font-size:.8rem;text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center}.pagination__buttons a{text-decoration:none}.button{position:relative;display:inline-flex;flex:1;align-items:center;justify-content:center;font-size:1rem;border-radius:8px;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden}.button+.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-decoration:none}.button__text,.button a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.post,.posts{width:100%}.post{text-align:left;margin:20px auto;padding:20px 0}@media (max-width:899px){.post{max-width:660px}}.post:not(:last-of-type){border-bottom:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid var(--border-color)}.post-meta{font-size:1rem;margin-bottom:10px;color:rgba(255, 98, 102, 0.7);color:rgba(255, 98, 102, 0.7)}.post-title{--border:3px dotted #ff6266;--border:3px dotted var(--accent);position:relative;color:#ff6266;color:var(--accent);margin:0 0 15px;padding-bottom:15px;border-bottom:var(--border)}.post-title:after{content:"";position:absolute;bottom:2px;display:block;width:100%;border-bottom:var(--border)}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:1rem;opacity:.5}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{border:20px solid #ff6266;border:20px solid var(--accent);background:transparent;margin:40px 0;padding:20px}@media (max-width:683px){.post-cover{padding:10px;border-width:10px}}.post ul{list-style:none}.post ul li:before{content:"-";position:absolute;left:-20px;color:#ff6266;color:var(--accent)}.post--regulation h1,.post--regulation h2{justify-content:center}.post--regulation h2{margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.hanchor{color:rgba(255, 98, 102, 0.9);color:rgba(255, 98, 102, 0.9);text-decoration:none;margin-left:10px;visibility:hidden}h1:hover a,h2:hover a,h3:hover a,h4:hover a{visibility:visible}.language-css .token.string,.language-scss .token.string,.style .token.string,.token.atrule,.token.attr-value,.token.boolean,.token.control,.token.directive,.token.entity,.token.keyword,.token.number,.token.regex,.token.statement,.token.string,.token.url,code.language-css,code.language-scss{color:#ff6266;color:var(--accent)}.token.atrule-id,.token.attr-name,.token.operator,.token.placeholder,.token.tag-id,.token.unit,.token.variable{color:rgba(255, 98, 102, 0.7);color:rgba(255, 98, 102, 0.7)}.command-line-prompt>span:before,.token.function,.token.property,code.language-html,code.language-javascript{color:rgb(163, 148, 148);color:rgb(163, 148, 148)}.token.punctuation,.token.selector,.token.tag{color:#fff}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:hsla(0,0%,100%,.3)}.token.namespace{opacity:.7}pre[data-line]{position:relative}.line-highlight{position:absolute;left:0;right:0;padding:0;margin:0;background:rgba(163, 148, 148, 0.08);background:rgba(163, 148, 148, 0.08);pointer-events:none;line-height:inherit;white-space:pre}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f5f2f0;font:700 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:after,.line-numbers .line-highlight:before{content:none}:root{--accent:#ffa86a;--phoneWidth:(max-width:684px);--tabletWidth:(max-width:900px);--accent:#ff6266;--background:rgb(34, 31, 41);--background:rgb(34, 31, 41);--color:#fff;--border-color:hsla(0,0%,100%,0.1)} \ No newline at end of file diff --git a/static/assets/style.css b/static/assets/style.css index 2bc4324..792c545 100644 --- a/static/assets/style.css +++ b/static/assets/style.css @@ -1 +1 @@ -:root{--accent:#ffa86a;--background:rgb(34, 33, 41);--background:rgb(34, 33, 41);--color:#fff;--border-color:hsla(0,0%,100%,0.1);--phoneWidth:(max-width:684px);--tabletWidth:(max-width:900px)}@font-face{font-family:Fira Code;font-style:normal;font-weight:400;src:url(62da0ac51db1e4a3a4d57b9154a344fc.woff) format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-weight:800;src:url(2bf08001f42c34e30e1de9d2eb81aead.woff) format("woff")}.button-container{display:table;margin-left:auto;margin-right:auto}.button,a.button,button{position:relative;display:flex;align-items:center;justify-content:center;padding:8px 18px;margin-bottom:5px;text-decoration:none;text-align:center;border-radius:8px;border:1px solid transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.button.outline,a.button.outline,button.outline{background:transparent;box-shadow:none;padding:8px 18px}.button.outline :hover,a.button.outline :hover,button.outline :hover{-webkit-transform:none;transform:none;box-shadow: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{display:inline-flex;background:none;box-shadow:none;padding:0;margin:20px 0;max-width:100%}.code-toolbar{margin-bottom:20px}.code-toolbar .toolbar-item a{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;margin-bottom:5px;text-decoration:none;text-align:center;font-size:13px;font-weight:500;border-radius:8px;border:1px solid transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.header{display:flex;flex-direction:column;position:relative}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex:1}.header__logo:after{content:"";background:repeating-linear-gradient(90deg,#ffa86a,#ffa86a 2px,transparent 0,transparent 10px);background:repeating-linear-gradient(90deg,var(--accent),var(--accent) 2px,transparent 0,transparent 10px);display:block;width:100%;right:10px}.header__logo a{flex:0 0 auto;max-width:100%;text-decoration:none}.header .menu{--shadow-color:rgba(34, 33, 41, 0.8);--shadow-color:rgba(34, 33, 41, 0.8);--shadow:0 10px var(--shadow-color),-10px 10px var(--shadow-color),10px 10px var(--shadow-color);margin:20px 0}@media (max-width:683px){.header .menu{position:absolute;background:rgb(34, 33, 41);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:50px;right:0}}.header .menu__inner{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}@media (max-width:683px){.header .menu__inner--desktop{display:none}}.header .menu__inner--mobile{display:none}@media (max-width:683px){.header .menu__inner--mobile{display:block}}.header .menu__inner li:not(:last-of-type){margin-right:20px;margin-bottom:10px;flex:0 0 auto}@media (max-width:683px){.header .menu__inner{flex-direction:column;align-items:flex-start;padding:0}.header .menu__inner li{margin:0;padding:5px}}.header .menu__sub-inner{position:relative;list-style:none;padding:0;margin:0}.header .menu__sub-inner:not(:only-child){margin-left:20px}.header .menu__sub-inner-more{position:absolute;background:rgb(34, 33, 41);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;left:0}.header .menu__sub-inner-more-trigger{color:#ffa86a;color:var(--accent);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.header .menu__sub-inner-more li{margin:0;padding:5px;white-space:nowrap}.header .menu .spacer{flex-grow:1}.header .menu .language-selector{position:relative;list-style:none;margin:0}.header .menu .language-selector-current{list-style-type:none;display:flex;flex-direction:row;color:#ffa86a;color:var(--accent);cursor:pointer;margin:0}.header .menu .language-selector__more{position:absolute;background:rgb(34, 33, 41);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;right:0}.header .menu-trigger{color:#ffa86a;color:var(--accent);border:2px solid;margin-left:10px;height:100%;padding:3px 8px;position:relative}.logo{display:flex;align-items:center;text-decoration:none;background:#ffa86a;background:var(--accent);color:#000;padding:5px 10px}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{margin:0;padding:0;font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;font-size:1rem;line-height:1.54;letter-spacing:-.02em;background-color:rgb(34, 33, 41);background-color:rgb(34, 33, 41);color:#fff;color:var(--color);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-webkit-font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%}@media (max-width:683px){body{font-size:1rem}}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3,.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{line-height:1.3}.headings--one-size h1:not(first-child),.headings--one-size h2:not(first-child),.headings--one-size h3:not(first-child),.headings--one-size h4:not(first-child),.headings--one-size h5:not(first-child),.headings--one-size h6:not(first-child){margin-top:40px}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3{font-size:1.4rem}.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{font-size:1.2rem}a{color:inherit}img{display:block;max-width:100%}img.center,img.left{margin-right:auto}img.center,img.right{margin-left:auto}p{margin-bottom:20px}figure{display:table;max-width:100%;margin:25px 0}figure.center,figure.left{margin-right:auto}figure.center,figure.right{margin-left:auto}figure figcaption{font-size:14px;padding:5px 10px;margin-top:5px;background:#ffa86a;background:var(--accent);color:rgb(34, 33, 41);color:var(--background)}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code{font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;-webkit-font-feature-settings:normal;font-feature-settings:normal;background:rgba(255, 168, 106, 0.2);background:rgba(255, 168, 106, 0.2);color:#ffa86a;color:var(--accent);padding:1px 6px;margin:0 2px}code,pre{font-size:.95rem}pre{background:transparent!important;padding:20px 10px;margin:40px 0;overflow:auto;border-top:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid hsla(0,0%,100%,.1)}pre+pre{border-top:0;margin-top:-40px}@media (max-width:683px){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{background:none!important;margin:0;padding:0;font-size:inherit;border:none}blockquote{border-top:1px solid #ffa86a;border-top:1px solid var(--accent);border-bottom:1px solid #ffa86a;border-bottom:1px solid var(--accent);margin:40px 0;padding:25px}@media (max-width:683px){blockquote{padding-right:0}}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}blockquote p{position:relative}blockquote p:before{content:">";display:block;position:absolute;left:-25px;color:#ffa86a;color:var(--accent)}table{table-layout:fixed;border-collapse:collapse;width:100%;margin:40px 0}table,td,th{border:1px dashed #ffa86a;border:1px dashed var(--accent);padding:10px}th{color:#ffa86a;color:var(--accent)}ol,ul{margin-left:30px;padding:0}ol li,ul li{position:relative}@media (max-width:683px){ol,ul{margin-left:20px}}ol ol,ol ul,ul ol,ul ul{margin-top:20px}ol ol{list-style-type:lower-alpha}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;border-right:1px solid hsla(0,0%,100%,.1)}.container.center,.container.full{border:none;margin:0 auto}.container.full{max-width:100%}@media (max-width:683px){.container{padding:20px}}.content{display:flex}hr{width:100%;border:none;background:hsla(0,0%,100%,.1);background:var(--border-color);height:1px}.hidden{display:none}.post,.posts{width:100%}.post{text-align:left;margin:20px auto;padding:20px 0}@media (max-width:899px){.post{max-width:660px}}.post:not(:last-of-type){border-bottom:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid var(--border-color)}.post-meta{font-size:1rem;margin-bottom:10px;color:rgba(255, 168, 106, 0.7);color:rgba(255, 168, 106, 0.7)}.post-title{--border:3px dotted #ffa86a;--border:3px dotted var(--accent);position:relative;color:#ffa86a;color:var(--accent);margin:0 0 15px;padding-bottom:15px;border-bottom:var(--border)}.post-title:after{content:"";position:absolute;bottom:2px;display:block;width:100%;border-bottom:var(--border)}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:1rem;opacity:.5}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{border:20px solid #ffa86a;border:20px solid var(--accent);background:transparent;margin:40px 0;padding:20px}@media (max-width:683px){.post-cover{padding:10px;border-width:10px}}.post ul{list-style:none}.post ul li:before{content:"\25BA";position:absolute;left:-20px;color:#ffa86a;color:var(--accent)}.post--regulation h1,.post--regulation h2{justify-content:center}.post--regulation h2{margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.hanchor{color:rgba(255, 168, 106, 0.9);color:rgba(255, 168, 106, 0.9);text-decoration:none;margin-left:10px;visibility:hidden}h1:hover a,h2:hover a,h3:hover a,h4:hover a{visibility:visible}.pagination{margin-top:50px}.pagination__title{display:flex;text-align:center;position:relative;margin:100px 0 20px}.pagination__title-h{text-align:center;margin:0 auto;padding:5px 10px;background:rgb(34, 33, 41);background:rgb(34, 33, 41);font-size:.8rem;text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center}.pagination__buttons a{text-decoration:none}.button{position:relative;display:inline-flex;flex:1;align-items:center;justify-content:center;font-size:1rem;border-radius:8px;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden}.button+.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-decoration:none}.button__text,.button a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.footer{padding:40px 0;flex-grow:0;opacity:.5}.footer__inner{display:flex;align-items:center;justify-content:space-between;margin:0;width:760px;max-width:100%}@media (max-width:899px){.footer__inner{flex-direction:column}}.footer a{color:inherit}.footer .copyright{display:flex;flex-direction:row;align-items:center;font-size:1rem;color:var(--light-color-secondary)}.footer .copyright--user{margin:auto;text-align:center}.footer .copyright>:first-child:not(:only-child){margin-right:10px}@media (max-width:899px){.footer .copyright>:first-child:not(:only-child){border:none;padding:0;margin:0}}@media (max-width:899px){.footer .copyright{flex-direction:column;margin-top:10px}}:root{--code-margin:40px}code[class*=language-],pre[class*=language-]{background:none;font-family:inherit,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{margin:0;padding:0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{border-radius:0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:0;white-space:normal}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid rgba(163, 155, 148, 0.2);border-right:1px solid rgba(163, 155, 148, 0.2);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:rgba(163, 155, 148, 0.4);color:rgba(163, 155, 148, 0.4);display:block;padding-right:.8em;text-align:right}.code-toolbar{position:relative;margin:40px 0;margin:var(--code-margin) 0;padding:20px;border:1px solid hsla(0,0%,100%,.1)}.code-toolbar+.code-toolbar,.code-toolbar+.highlight,.code-toolbar+.highlight .code-toolbar{border-top:0;margin-top:-40px;margin-top:calc(-1*var(--code-margin))}.code-toolbar code,.code-toolbar pre{border:none}.code-toolbar code{display:block;color:inherit}.highlight+.highlight .code-toolbar{border-top:0;margin-top:-40px;margin-top:calc(-1*var(--code-margin))}div.code-toolbar>.toolbar{position:absolute;top:10px;right:10px;transition:opacity .3s ease-in-out;opacity:0}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;user-select:none}div.code-toolbar>.toolbar a,div.code-toolbar>.toolbar button,div.code-toolbar>.toolbar span{color:#bbb;font-size:.8em;padding:10px;background:#f5f2f0;background:hsla(0,0%,87.8%,.2);box-shadow:0 2px 0 0 rgba(0,0,0,.2);border-radius:0}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{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{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)}.language-css .token.string,.language-scss .token.string,.style .token.string,.token.atrule,.token.attr-value,.token.boolean,.token.control,.token.directive,.token.entity,.token.keyword,.token.number,.token.regex,.token.statement,.token.string,.token.url,code.language-css,code.language-scss{color:#ffa86a;color:var(--accent)}.token.atrule-id,.token.attr-name,.token.operator,.token.placeholder,.token.tag-id,.token.unit,.token.variable{color:rgba(255, 168, 106, 0.7);color:rgba(255, 168, 106, 0.7)}.command-line-prompt>span:before,.token.function,.token.property,code.language-html,code.language-javascript{color:rgb(163, 155, 148);color:rgb(163, 155, 148)}.token.punctuation,.token.selector,.token.tag{color:#fff}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:hsla(0,0%,100%,.3)}.token.namespace{opacity:.7}pre[data-line]{position:relative}.line-highlight{position:absolute;left:0;right:0;padding:0;margin:0;background:rgba(163, 155, 148, 0.08);background:rgba(163, 155, 148, 0.08);pointer-events:none;line-height:inherit;white-space:pre}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f5f2f0;font:700 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:after,.line-numbers .line-highlight:before{content:none} \ No newline at end of file +:root{--accent:#ffa86a;--background:rgb(34, 33, 41);--background:rgb(34, 33, 41);--color:#fff;--border-color:hsla(0,0%,100%,0.1);--phoneWidth:(max-width:684px);--tabletWidth:(max-width:900px)}@font-face{font-family:Fira Code;font-style:normal;font-weight:400;src:url(62da0ac51db1e4a3a4d57b9154a344fc.woff) format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-weight:800;src:url(2bf08001f42c34e30e1de9d2eb81aead.woff) format("woff")}.button-container{display:table;margin-left:auto;margin-right:auto}.button,a.button,button{position:relative;display:flex;align-items:center;justify-content:center;padding:8px 18px;margin-bottom:5px;text-decoration:none;text-align:center;border-radius:8px;border:1px solid transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.button.outline,a.button.outline,button.outline{background:transparent;box-shadow:none;padding:8px 18px}.button.outline :hover,a.button.outline :hover,button.outline :hover{-webkit-transform:none;transform:none;box-shadow: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{display:inline-flex;background:none;box-shadow:none;padding:0;margin:20px 0;max-width:100%}.code-toolbar{margin-bottom:20px}.code-toolbar .toolbar-item a{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;margin-bottom:5px;text-decoration:none;text-align:center;font-size:13px;font-weight:500;border-radius:8px;border:1px solid transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.header{display:flex;flex-direction:column;position:relative}@media print{.header{display:none}}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex:1}.header__logo:after{content:"";background:repeating-linear-gradient(90deg,#ffa86a,#ffa86a 2px,transparent 0,transparent 10px);background:repeating-linear-gradient(90deg,var(--accent),var(--accent) 2px,transparent 0,transparent 10px);display:block;width:100%;right:10px}.header__logo a{flex:0 0 auto;max-width:100%;text-decoration:none}.header .menu{--shadow-color:rgba(34, 33, 41, 0.8);--shadow-color:rgba(34, 33, 41, 0.8);--shadow:0 10px var(--shadow-color),-10px 10px var(--shadow-color),10px 10px var(--shadow-color);margin:20px 0}@media (max-width:683px){.header .menu{position:absolute;background:rgb(34, 33, 41);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:50px;right:0}}.header .menu__inner{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}@media (max-width:683px){.header .menu__inner--desktop{display:none}}.header .menu__inner--mobile{display:none}@media (max-width:683px){.header .menu__inner--mobile{display:block}}.header .menu__inner li:not(:last-of-type){margin-right:20px;margin-bottom:10px;flex:0 0 auto}@media (max-width:683px){.header .menu__inner{flex-direction:column;align-items:flex-start;padding:0}.header .menu__inner li{margin:0;padding:5px}}.header .menu__sub-inner{position:relative;list-style:none;padding:0;margin:0}.header .menu__sub-inner:not(:only-child){margin-left:20px}.header .menu__sub-inner-more{position:absolute;background:rgb(34, 33, 41);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;left:0}.header .menu__sub-inner-more-trigger{color:#ffa86a;color:var(--accent);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.header .menu__sub-inner-more li{margin:0;padding:5px;white-space:nowrap}.header .menu .spacer{flex-grow:1}.header .menu .language-selector{position:relative;list-style:none;margin:0}.header .menu .language-selector-current{list-style-type:none;display:flex;flex-direction:row;color:#ffa86a;color:var(--accent);cursor:pointer;margin:0}.header .menu .language-selector__more{position:absolute;background:rgb(34, 33, 41);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;right:0}.header .menu-trigger{color:#ffa86a;color:var(--accent);border:2px solid;margin-left:10px;height:100%;padding:3px 8px;position:relative}.logo{display:flex;align-items:center;text-decoration:none;background:#ffa86a;background:var(--accent);color:#000;padding:5px 10px}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{margin:0;padding:0;font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;font-size:1rem;line-height:1.54;letter-spacing:-.02em;background-color:rgb(34, 33, 41);background-color:rgb(34, 33, 41);color:#fff;color:var(--color);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-webkit-font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%}@media (max-width:683px){body{font-size:1rem}}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3,.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{line-height:1.3}.headings--one-size h1:not(first-child),.headings--one-size h2:not(first-child),.headings--one-size h3:not(first-child),.headings--one-size h4:not(first-child),.headings--one-size h5:not(first-child),.headings--one-size h6:not(first-child){margin-top:40px}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3{font-size:1.4rem}.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{font-size:1.2rem}a{color:inherit}img{display:block;max-width:100%}img.center,img.left{margin-right:auto}img.center,img.right{margin-left:auto}p{margin-bottom:20px}figure{display:table;max-width:100%;margin:25px 0}figure.center,figure.left{margin-right:auto}figure.center,figure.right{margin-left:auto}figure figcaption{font-size:14px;padding:5px 10px;margin-top:5px;background:#ffa86a;background:var(--accent);color:rgb(34, 33, 41);color:var(--background)}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code{font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;-webkit-font-feature-settings:normal;font-feature-settings:normal;background:rgba(255, 168, 106, 0.2);background:rgba(255, 168, 106, 0.2);color:#ffa86a;color:var(--accent);padding:1px 6px;margin:0 2px}code,pre{font-size:.95rem}pre{background:transparent!important;padding:20px 10px;margin:40px 0;overflow:auto;border-top:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid hsla(0,0%,100%,.1)}pre+pre{border-top:0;margin-top:-40px}@media (max-width:683px){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{background:none!important;margin:0;padding:0;font-size:inherit;border:none}blockquote{border-top:1px solid #ffa86a;border-top:1px solid var(--accent);border-bottom:1px solid #ffa86a;border-bottom:1px solid var(--accent);margin:40px 0;padding:25px}@media (max-width:683px){blockquote{padding-right:0}}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}blockquote p{position:relative}blockquote p:before{content:">";display:block;position:absolute;left:-25px;color:#ffa86a;color:var(--accent)}table{table-layout:fixed;border-collapse:collapse;width:100%;margin:40px 0}table,td,th{border:1px dashed #ffa86a;border:1px dashed var(--accent);padding:10px}th{color:#ffa86a;color:var(--accent)}ol,ul{margin-left:30px;padding:0}ol li,ul li{position:relative}@media (max-width:683px){ol,ul{margin-left:20px}}ol ol{list-style-type:lower-alpha}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;border-right:1px solid hsla(0,0%,100%,.1)}.container.center,.container.full{border:none;margin:0 auto}.container.full{max-width:100%}@media (max-width:683px){.container{padding:20px}}@media print{.container{display:inline;display:initial}}.content{display:flex}@media print{.content{display:inline;display:initial}}hr{width:100%;border:none;background:hsla(0,0%,100%,.1);background:var(--border-color);height:1px}.hidden{display:none}.post,.posts{width:100%}.post{text-align:left;margin:20px auto;padding:20px 0}@media (max-width:899px){.post{max-width:660px}}.post:not(:last-of-type){border-bottom:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid var(--border-color)}.post-meta{font-size:1rem;margin-bottom:10px;color:rgba(255, 168, 106, 0.7);color:rgba(255, 168, 106, 0.7)}.post-title{--border:3px dotted #ffa86a;--border:3px dotted var(--accent);position:relative;color:#ffa86a;color:var(--accent);margin:0 0 15px;padding-bottom:15px;border-bottom:var(--border)}.post-title:after{content:"";position:absolute;bottom:2px;display:block;width:100%;border-bottom:var(--border)}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:1rem;opacity:.5}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{border:20px solid #ffa86a;border:20px solid var(--accent);background:transparent;margin:40px 0;padding:20px}@media (max-width:683px){.post-cover{padding:10px;border-width:10px}}.post ul{list-style:none}.post ul li:before{content:"-";position:absolute;left:-20px;color:#ffa86a;color:var(--accent)}.post--regulation h1,.post--regulation h2{justify-content:center}.post--regulation h2{margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.hanchor{color:rgba(255, 168, 106, 0.9);color:rgba(255, 168, 106, 0.9);text-decoration:none;margin-left:10px;visibility:hidden}h1:hover a,h2:hover a,h3:hover a,h4:hover a{visibility:visible}.pagination{margin-top:50px}@media print{.pagination{display:none}}.pagination__title{display:flex;text-align:center;position:relative;margin:100px 0 20px}.pagination__title-h{text-align:center;margin:0 auto;padding:5px 10px;background:rgb(34, 33, 41);background:rgb(34, 33, 41);font-size:.8rem;text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center}.pagination__buttons a{text-decoration:none}.button{position:relative;display:inline-flex;flex:1;align-items:center;justify-content:center;font-size:1rem;border-radius:8px;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden}.button+.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-decoration:none}.button__text,.button a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.footer{padding:40px 0;flex-grow:0;opacity:.5}.footer__inner{display:flex;align-items:center;justify-content:space-between;margin:0;width:760px;max-width:100%}@media (max-width:899px){.footer__inner{flex-direction:column}}.footer a{color:inherit}.footer .copyright{display:flex;flex-direction:row;align-items:center;font-size:1rem;color:var(--light-color-secondary)}.footer .copyright--user{margin:auto;text-align:center}.footer .copyright>:first-child:not(:only-child){margin-right:10px}@media (max-width:899px){.footer .copyright>:first-child:not(:only-child){border:none;padding:0;margin:0}}@media (max-width:899px){.footer .copyright{flex-direction:column;margin-top:10px}}:root{--code-margin:40px}code[class*=language-],pre[class*=language-]{background:none;font-family:inherit,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{margin:0;padding:0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{border-radius:0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:0;white-space:normal}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid rgba(163, 155, 148, 0.2);border-right:1px solid rgba(163, 155, 148, 0.2);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:rgba(163, 155, 148, 0.4);color:rgba(163, 155, 148, 0.4);display:block;padding-right:.8em;text-align:right}.code-toolbar{position:relative;margin:40px 0;margin:var(--code-margin) 0;padding:20px;border:1px solid hsla(0,0%,100%,.1)}.code-toolbar+.code-toolbar,.code-toolbar+.highlight,.code-toolbar+.highlight .code-toolbar{border-top:0;margin-top:-40px;margin-top:calc(-1*var(--code-margin))}.code-toolbar code,.code-toolbar pre{border:none}.code-toolbar code{display:block;color:inherit}.highlight+.highlight .code-toolbar{border-top:0;margin-top:-40px;margin-top:calc(-1*var(--code-margin))}div.code-toolbar>.toolbar{position:absolute;top:10px;right:10px;transition:opacity .3s ease-in-out;opacity:0}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;user-select:none}div.code-toolbar>.toolbar a,div.code-toolbar>.toolbar button,div.code-toolbar>.toolbar span{color:#bbb;font-size:.8em;padding:10px;background:#f5f2f0;background:hsla(0,0%,87.8%,.2);box-shadow:0 2px 0 0 rgba(0,0,0,.2);border-radius:0}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{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{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)}.language-css .token.string,.language-scss .token.string,.style .token.string,.token.atrule,.token.attr-value,.token.boolean,.token.control,.token.directive,.token.entity,.token.keyword,.token.number,.token.regex,.token.statement,.token.string,.token.url,code.language-css,code.language-scss{color:#ffa86a;color:var(--accent)}.token.atrule-id,.token.attr-name,.token.operator,.token.placeholder,.token.tag-id,.token.unit,.token.variable{color:rgba(255, 168, 106, 0.7);color:rgba(255, 168, 106, 0.7)}.command-line-prompt>span:before,.token.function,.token.property,code.language-html,code.language-javascript{color:rgb(163, 155, 148);color:rgb(163, 155, 148)}.token.punctuation,.token.selector,.token.tag{color:#fff}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:hsla(0,0%,100%,.3)}.token.namespace{opacity:.7}pre[data-line]{position:relative}.line-highlight{position:absolute;left:0;right:0;padding:0;margin:0;background:rgba(163, 155, 148, 0.08);background:rgba(163, 155, 148, 0.08);pointer-events:none;line-height:inherit;white-space:pre}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f5f2f0;font:700 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:after,.line-numbers .line-highlight:before{content:none} \ No newline at end of file