From 57cb9d24a33a9a4013dac78e4681e441c9b1e9e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Feje=C5=A1?= Date: Sat, 3 Mar 2018 10:57:27 +0100 Subject: [PATCH 01/11] update flexbox --- ...-vertical-centering.md => flexbox-centering.md} | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) rename snippets/{horizontal-and-vertical-centering.md => flexbox-centering.md} (67%) diff --git a/snippets/horizontal-and-vertical-centering.md b/snippets/flexbox-centering.md similarity index 67% rename from snippets/horizontal-and-vertical-centering.md rename to snippets/flexbox-centering.md index 0bb259d7a..19074bb0b 100644 --- a/snippets/horizontal-and-vertical-centering.md +++ b/snippets/flexbox-centering.md @@ -1,11 +1,11 @@ -### Horizontal and vertical centering +### Flexbox centering -Horizontally and vertically centers a child element within a parent element. +Horizontally and vertically centers a child element within a parent element using `flexbox`. #### HTML ```html -
+
``` @@ -13,7 +13,7 @@ Horizontally and vertically centers a child element within a parent element. #### CSS ```css -.horizontal-and-vertical-centering { +.flexbox-centering { display: flex; justify-content: center; align-items: center; @@ -23,13 +23,13 @@ Horizontally and vertically centers a child element within a parent element. #### Demo
-
-

Centered content.

+
+

Centered content.

+

Explanation

+
    +
  1. display: flex enables flexbox.
  2. +
  3. justify-content: center centers the child horizontally.
  4. +
  5. align-items: center centers the child vertically.
  6. +
+

Browser support

+
+
+ 97.8% +
+
+

⚠️ Needs prefixes for full support.

+ + + +

Gradient textvisual

Gives text a gradient color.

@@ -747,54 +796,6 @@ in any specification.

-
-

Horizontal and vertical centeringlayout

-

Horizontally and vertically centers a child element within a parent element.

-

HTML

<div class="horizontal-and-vertical-centering">
-  <div class="child"></div>
-</div>
-
-

CSS

.horizontal-and-vertical-centering {
-  display: flex;
-  justify-content: center;
-  align-items: center;
-}
-
-

Demo

-
-
-

Centered content.

-
-
- -

Explanation

-
    -
  1. display: flex enables flexbox.
  2. -
  3. justify-content: center centers the child horizontally.
  4. -
  5. align-items: center centers the child vertically.
  6. -
-

Browser support

-
-
- 97.8% -
-
-

⚠️ Needs prefixes for full support.

- - - -

Hover underline animationanimation

Creates an animated underline effect when the text is hovered over.

From 7ce71b08005f4cec6c90217c598d2d4e1b840b59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Feje=C5=A1?= Date: Sat, 3 Mar 2018 11:02:17 +0100 Subject: [PATCH 03/11] fix build Last time it had few errors. Accidentaly commited. --- docs/51a402ced656eeea80dcb3b08a0ac425.png | Bin 0 -> 35911 bytes docs/6c831ee080ce0f905632cb113dfa17d9.css | 9 +++++++ docs/6c831ee080ce0f905632cb113dfa17d9.js | 28 ++++++++++++++++++++++ docs/e4fdfce991c164037b4cd78667aa2afd.png | Bin 0 -> 2628 bytes docs/index.html | 28 +++++++++++----------- 5 files changed, 51 insertions(+), 14 deletions(-) create mode 100644 docs/51a402ced656eeea80dcb3b08a0ac425.png create mode 100644 docs/6c831ee080ce0f905632cb113dfa17d9.css create mode 100644 docs/6c831ee080ce0f905632cb113dfa17d9.js create mode 100644 docs/e4fdfce991c164037b4cd78667aa2afd.png diff --git a/docs/51a402ced656eeea80dcb3b08a0ac425.png b/docs/51a402ced656eeea80dcb3b08a0ac425.png new file mode 100644 index 0000000000000000000000000000000000000000..f27b9309101bac82fef1228e0d1d2cf6de3b3a12 GIT binary patch literal 35911 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 literal 0 HcmV?d00001 diff --git a/docs/6c831ee080ce0f905632cb113dfa17d9.css b/docs/6c831ee080ce0f905632cb113dfa17d9.css new file mode 100644 index 000000000..f24fa09f6 --- /dev/null +++ b/docs/6c831ee080ce0f905632cb113dfa17d9.css @@ -0,0 +1,9 @@ +/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}code[class*=language-],pre[class*=language-]{color:#324b64;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:2;font-size:1rem;-webkit-overflow-scrolling:touch;margin:0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{overflow:auto;padding:.75rem 1.25rem}pre.is-option{margin:0;padding:0}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f6f9;border-radius:.25rem}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8ca2d3}.token.attr-name,.token.selector{color:#da7800}.token.punctuation{color:#93a0c7}.namespace{opacity:.7}.token.tag{color:#e22f70}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol{color:#0087ca}.language-css .token.string,.token.attr-value,.token.builtin,.token.char,.token.inserted,.token.string,.token.url{color:#008a7e}.style .token.string,.token.entity,.token.operator{color:#f53737}.token.atrule,.token.important,.token.keyword{color:#7552ff}.token.function{color:#396dff}.token.regex,.token.variable{color:#00a8d4}.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}html{font-size:.95rem}body{font-family:-apple-system,BlinkMacSystemFont,Roboto,Segoe UI,Helvetica Neue,Helvetica,Arial,sans-serif;background:#f6f7fd;color:#324b64;line-height:1.5}a{color:#157bda;text-decoration:none;word-wrap:break-word;overflow-wrap:break-word}a:hover{color:#0090ff}hr{border:0;border-top:1px solid rgba(0,32,128,.1)}ol,ul{padding-left:1.25rem}.container{max-width:1000px;padding:0 2%;margin:0 auto}.main>.container{padding:0}@media (min-width:579px){.main>.container{padding:0 2%}}@media (min-width:768px){html{font-size:1rem}}@media (min-width:992px){.content-wrapper{margin-left:200px}} + +/*! + * Hamburgers + * @description Tasty CSS-animated hamburgers + * @author Jonathan Suh @jonsuh + * @site https://jonsuh.com/hamburgers + * @link https://github.com/jonsuh/hamburgers + */.hamburger{padding:1rem;display:inline-block;cursor:pointer;transition-property:opacity,filter;transition-duration:.15s;transition-timing-function:linear;font:inherit;color:inherit;text-transform:none;background-color:transparent;border:0;margin:0;overflow:visible;outline:0}.hamburger:hover{opacity:.7}.hamburger-box{width:40px;height:20px;display:inline-block;position:relative}.hamburger-inner{display:block;top:50%}.hamburger-inner,.hamburger-inner:after,.hamburger-inner:before{width:36px;height:2px;background-color:#e3f5ff;border-radius:4px;position:absolute;transition-property:transform;transition-duration:.15s;transition-timing-function:ease}.hamburger-inner:after,.hamburger-inner:before{content:"";display:block}.hamburger-inner:before{top:-10px}.hamburger-inner:after{bottom:-10px}.hamburger--3dx .hamburger-box{perspective:80px}.hamburger--3dx .hamburger-inner{transition:transform .15s cubic-bezier(.645,.045,.355,1),background-color 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dx .hamburger-inner:after,.hamburger--3dx .hamburger-inner:before{transition:transform 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dx.is-active .hamburger-inner{background-color:transparent;transform:rotateY(180deg)}.hamburger--3dx.is-active .hamburger-inner:before{transform:translate3d(0,10px,0) rotate(45deg)}.hamburger--3dx.is-active .hamburger-inner:after{transform:translate3d(0,-10px,0) rotate(-45deg)}.hamburger--3dx-r .hamburger-box{perspective:80px}.hamburger--3dx-r .hamburger-inner{transition:transform .15s cubic-bezier(.645,.045,.355,1),background-color 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dx-r .hamburger-inner:after,.hamburger--3dx-r .hamburger-inner:before{transition:transform 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dx-r.is-active .hamburger-inner{background-color:transparent;transform:rotateY(-180deg)}.hamburger--3dx-r.is-active .hamburger-inner:before{transform:translate3d(0,10px,0) rotate(45deg)}.hamburger--3dx-r.is-active .hamburger-inner:after{transform:translate3d(0,-10px,0) rotate(-45deg)}.hamburger--3dy .hamburger-box{perspective:80px}.hamburger--3dy .hamburger-inner{transition:transform .15s cubic-bezier(.645,.045,.355,1),background-color 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dy .hamburger-inner:after,.hamburger--3dy .hamburger-inner:before{transition:transform 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dy.is-active .hamburger-inner{background-color:transparent;transform:rotateX(-180deg)}.hamburger--3dy.is-active .hamburger-inner:before{transform:translate3d(0,10px,0) rotate(45deg)}.hamburger--3dy.is-active .hamburger-inner:after{transform:translate3d(0,-10px,0) rotate(-45deg)}.hamburger--3dy-r .hamburger-box{perspective:80px}.hamburger--3dy-r .hamburger-inner{transition:transform .15s cubic-bezier(.645,.045,.355,1),background-color 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dy-r .hamburger-inner:after,.hamburger--3dy-r .hamburger-inner:before{transition:transform 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dy-r.is-active .hamburger-inner{background-color:transparent;transform:rotateX(180deg)}.hamburger--3dy-r.is-active .hamburger-inner:before{transform:translate3d(0,10px,0) rotate(45deg)}.hamburger--3dy-r.is-active .hamburger-inner:after{transform:translate3d(0,-10px,0) rotate(-45deg)}.hamburger--3dxy .hamburger-box{perspective:80px}.hamburger--3dxy .hamburger-inner{transition:transform .15s cubic-bezier(.645,.045,.355,1),background-color 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dxy .hamburger-inner:after,.hamburger--3dxy .hamburger-inner:before{transition:transform 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dxy.is-active .hamburger-inner{background-color:transparent;transform:rotateX(180deg) rotateY(180deg)}.hamburger--3dxy.is-active .hamburger-inner:before{transform:translate3d(0,10px,0) rotate(45deg)}.hamburger--3dxy.is-active .hamburger-inner:after{transform:translate3d(0,-10px,0) rotate(-45deg)}.hamburger--3dxy-r .hamburger-box{perspective:80px}.hamburger--3dxy-r .hamburger-inner{transition:transform .15s cubic-bezier(.645,.045,.355,1),background-color 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dxy-r .hamburger-inner:after,.hamburger--3dxy-r .hamburger-inner:before{transition:transform 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dxy-r.is-active .hamburger-inner{background-color:transparent;transform:rotateX(180deg) rotateY(180deg) rotate(-180deg)}.hamburger--3dxy-r.is-active .hamburger-inner:before{transform:translate3d(0,10px,0) rotate(45deg)}.hamburger--3dxy-r.is-active .hamburger-inner:after{transform:translate3d(0,-10px,0) rotate(-45deg)}.hamburger--arrow.is-active .hamburger-inner:before{transform:translate3d(-8px,0,0) rotate(-45deg) scaleX(.7)}.hamburger--arrow.is-active .hamburger-inner:after{transform:translate3d(-8px,0,0) rotate(45deg) scaleX(.7)}.hamburger--arrow-r.is-active .hamburger-inner:before{transform:translate3d(8px,0,0) rotate(45deg) scaleX(.7)}.hamburger--arrow-r.is-active .hamburger-inner:after{transform:translate3d(8px,0,0) rotate(-45deg) scaleX(.7)}.hamburger--arrowalt .hamburger-inner:before{transition:top .1s ease .1s,transform .1s cubic-bezier(.165,.84,.44,1)}.hamburger--arrowalt .hamburger-inner:after{transition:bottom .1s ease .1s,transform .1s cubic-bezier(.165,.84,.44,1)}.hamburger--arrowalt.is-active .hamburger-inner:before{top:0;transform:translate3d(-8px,-10px,0) rotate(-45deg) scaleX(.7);transition:top .1s ease,transform .1s cubic-bezier(.895,.03,.685,.22) .1s}.hamburger--arrowalt.is-active .hamburger-inner:after{bottom:0;transform:translate3d(-8px,10px,0) rotate(45deg) scaleX(.7);transition:bottom .1s ease,transform .1s cubic-bezier(.895,.03,.685,.22) .1s}.hamburger--arrowalt-r .hamburger-inner:before{transition:top .1s ease .1s,transform .1s cubic-bezier(.165,.84,.44,1)}.hamburger--arrowalt-r .hamburger-inner:after{transition:bottom .1s ease .1s,transform .1s cubic-bezier(.165,.84,.44,1)}.hamburger--arrowalt-r.is-active .hamburger-inner:before{top:0;transform:translate3d(8px,-10px,0) rotate(45deg) scaleX(.7);transition:top .1s ease,transform .1s cubic-bezier(.895,.03,.685,.22) .1s}.hamburger--arrowalt-r.is-active .hamburger-inner:after{bottom:0;transform:translate3d(8px,10px,0) rotate(-45deg) scaleX(.7);transition:bottom .1s ease,transform .1s cubic-bezier(.895,.03,.685,.22) .1s}.hamburger--arrowturn.is-active .hamburger-inner{transform:rotate(-180deg)}.hamburger--arrowturn.is-active .hamburger-inner:before{transform:translate3d(8px,0,0) rotate(45deg) scaleX(.7)}.hamburger--arrowturn.is-active .hamburger-inner:after{transform:translate3d(8px,0,0) rotate(-45deg) scaleX(.7)}.hamburger--arrowturn-r.is-active .hamburger-inner{transform:rotate(-180deg)}.hamburger--arrowturn-r.is-active .hamburger-inner:before{transform:translate3d(-8px,0,0) rotate(-45deg) scaleX(.7)}.hamburger--arrowturn-r.is-active .hamburger-inner:after{transform:translate3d(-8px,0,0) rotate(45deg) scaleX(.7)}.hamburger--boring .hamburger-inner,.hamburger--boring .hamburger-inner:after,.hamburger--boring .hamburger-inner:before{transition-property:none}.hamburger--boring.is-active .hamburger-inner{transform:rotate(45deg)}.hamburger--boring.is-active .hamburger-inner:before{top:0;opacity:0}.hamburger--boring.is-active .hamburger-inner:after{bottom:0;transform:rotate(-90deg)}.hamburger--collapse .hamburger-inner{top:auto;bottom:0;transition-duration:.13s;transition-delay:.13s;transition-timing-function:cubic-bezier(.55,.055,.675,.19)}.hamburger--collapse .hamburger-inner:after{top:-20px;transition:top .2s cubic-bezier(.33333,.66667,.66667,1) .2s,opacity .1s linear}.hamburger--collapse .hamburger-inner:before{transition:top .12s cubic-bezier(.33333,.66667,.66667,1) .2s,transform .13s cubic-bezier(.55,.055,.675,.19)}.hamburger--collapse.is-active .hamburger-inner{transform:translate3d(0,-10px,0) rotate(-45deg);transition-delay:.22s;transition-timing-function:cubic-bezier(.215,.61,.355,1)}.hamburger--collapse.is-active .hamburger-inner:after{top:0;opacity:0;transition:top .2s cubic-bezier(.33333,0,.66667,.33333),opacity .1s linear .22s}.hamburger--collapse.is-active .hamburger-inner:before{top:0;transform:rotate(-90deg);transition:top .1s cubic-bezier(.33333,0,.66667,.33333) .16s,transform .13s cubic-bezier(.215,.61,.355,1) .25s}.hamburger--collapse-r .hamburger-inner{top:auto;bottom:0;transition-duration:.13s;transition-delay:.13s;transition-timing-function:cubic-bezier(.55,.055,.675,.19)}.hamburger--collapse-r .hamburger-inner:after{top:-20px;transition:top .2s cubic-bezier(.33333,.66667,.66667,1) .2s,opacity .1s linear}.hamburger--collapse-r .hamburger-inner:before{transition:top .12s cubic-bezier(.33333,.66667,.66667,1) .2s,transform .13s cubic-bezier(.55,.055,.675,.19)}.hamburger--collapse-r.is-active .hamburger-inner{transform:translate3d(0,-10px,0) rotate(45deg);transition-delay:.22s;transition-timing-function:cubic-bezier(.215,.61,.355,1)}.hamburger--collapse-r.is-active .hamburger-inner:after{top:0;opacity:0;transition:top .2s cubic-bezier(.33333,0,.66667,.33333),opacity .1s linear .22s}.hamburger--collapse-r.is-active .hamburger-inner:before{top:0;transform:rotate(90deg);transition:top .1s cubic-bezier(.33333,0,.66667,.33333) .16s,transform .13s cubic-bezier(.215,.61,.355,1) .25s}.hamburger--elastic .hamburger-inner{top:2px;transition-duration:.275s;transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}.hamburger--elastic .hamburger-inner:before{top:10px;transition:opacity .125s ease .275s}.hamburger--elastic .hamburger-inner:after{top:20px;transition:transform .275s cubic-bezier(.68,-.55,.265,1.55)}.hamburger--elastic.is-active .hamburger-inner{transform:translate3d(0,10px,0) rotate(135deg);transition-delay:75ms}.hamburger--elastic.is-active .hamburger-inner:before{transition-delay:0s;opacity:0}.hamburger--elastic.is-active .hamburger-inner:after{transform:translate3d(0,-20px,0) rotate(-270deg);transition-delay:75ms}.hamburger--elastic-r .hamburger-inner{top:2px;transition-duration:.275s;transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}.hamburger--elastic-r .hamburger-inner:before{top:10px;transition:opacity .125s ease .275s}.hamburger--elastic-r .hamburger-inner:after{top:20px;transition:transform .275s cubic-bezier(.68,-.55,.265,1.55)}.hamburger--elastic-r.is-active .hamburger-inner{transform:translate3d(0,10px,0) rotate(-135deg);transition-delay:75ms}.hamburger--elastic-r.is-active .hamburger-inner:before{transition-delay:0s;opacity:0}.hamburger--elastic-r.is-active .hamburger-inner:after{transform:translate3d(0,-20px,0) rotate(270deg);transition-delay:75ms}.hamburger--emphatic{overflow:hidden}.hamburger--emphatic .hamburger-inner{transition:background-color .125s ease-in .175s}.hamburger--emphatic .hamburger-inner:before{left:0;transition:transform .125s cubic-bezier(.6,.04,.98,.335),top .05s linear .125s,left .125s ease-in .175s}.hamburger--emphatic .hamburger-inner:after{top:10px;right:0;transition:transform .125s cubic-bezier(.6,.04,.98,.335),top .05s linear .125s,right .125s ease-in .175s}.hamburger--emphatic.is-active .hamburger-inner{transition-delay:0s;transition-timing-function:ease-out;background-color:transparent}.hamburger--emphatic.is-active .hamburger-inner:before{left:-80px;top:-80px;transform:translate3d(80px,80px,0) rotate(45deg);transition:left .125s ease-out,top .05s linear .125s,transform .125s cubic-bezier(.075,.82,.165,1) .175s}.hamburger--emphatic.is-active .hamburger-inner:after{right:-80px;top:-80px;transform:translate3d(-80px,80px,0) rotate(-45deg);transition:right .125s ease-out,top .05s linear .125s,transform .125s cubic-bezier(.075,.82,.165,1) .175s}.hamburger--emphatic-r{overflow:hidden}.hamburger--emphatic-r .hamburger-inner{transition:background-color .125s ease-in .175s}.hamburger--emphatic-r .hamburger-inner:before{left:0;transition:transform .125s cubic-bezier(.6,.04,.98,.335),top .05s linear .125s,left .125s ease-in .175s}.hamburger--emphatic-r .hamburger-inner:after{top:10px;right:0;transition:transform .125s cubic-bezier(.6,.04,.98,.335),top .05s linear .125s,right .125s ease-in .175s}.hamburger--emphatic-r.is-active .hamburger-inner{transition-delay:0s;transition-timing-function:ease-out;background-color:transparent}.hamburger--emphatic-r.is-active .hamburger-inner:before{left:-80px;top:80px;transform:translate3d(80px,-80px,0) rotate(-45deg);transition:left .125s ease-out,top .05s linear .125s,transform .125s cubic-bezier(.075,.82,.165,1) .175s}.hamburger--emphatic-r.is-active .hamburger-inner:after{right:-80px;top:80px;transform:translate3d(-80px,-80px,0) rotate(45deg);transition:right .125s ease-out,top .05s linear .125s,transform .125s cubic-bezier(.075,.82,.165,1) .175s}.hamburger--minus .hamburger-inner:after,.hamburger--minus .hamburger-inner:before{transition:bottom .08s ease-out 0s,top .08s ease-out 0s,opacity 0s linear}.hamburger--minus.is-active .hamburger-inner:after,.hamburger--minus.is-active .hamburger-inner:before{opacity:0;transition:bottom .08s ease-out,top .08s ease-out,opacity 0s linear .08s}.hamburger--minus.is-active .hamburger-inner:before{top:0}.hamburger--minus.is-active .hamburger-inner:after{bottom:0}.hamburger--slider .hamburger-inner{top:2px}.hamburger--slider .hamburger-inner:before{top:10px;transition-property:transform,opacity;transition-timing-function:ease;transition-duration:.15s}.hamburger--slider .hamburger-inner:after{top:20px}.hamburger--slider.is-active .hamburger-inner{transform:translate3d(0,10px,0) rotate(45deg)}.hamburger--slider.is-active .hamburger-inner:before{transform:rotate(-45deg) translate3d(-5.71429px,-6px,0);opacity:0}.hamburger--slider.is-active .hamburger-inner:after{transform:translate3d(0,-20px,0) rotate(-90deg)}.hamburger--slider-r .hamburger-inner{top:2px}.hamburger--slider-r .hamburger-inner:before{top:10px;transition-property:transform,opacity;transition-timing-function:ease;transition-duration:.15s}.hamburger--slider-r .hamburger-inner:after{top:20px}.hamburger--slider-r.is-active .hamburger-inner{transform:translate3d(0,10px,0) rotate(-45deg)}.hamburger--slider-r.is-active .hamburger-inner:before{transform:rotate(45deg) translate3d(5.71429px,-6px,0);opacity:0}.hamburger--slider-r.is-active .hamburger-inner:after{transform:translate3d(0,-20px,0) rotate(90deg)}.hamburger--spin .hamburger-inner{transition-duration:.22s;transition-timing-function:cubic-bezier(.55,.055,.675,.19)}.hamburger--spin .hamburger-inner:before{transition:top .1s ease-in .25s,opacity .1s ease-in}.hamburger--spin .hamburger-inner:after{transition:bottom .1s ease-in .25s,transform .22s cubic-bezier(.55,.055,.675,.19)}.hamburger--spin.is-active .hamburger-inner{transform:rotate(225deg);transition-delay:.12s;transition-timing-function:cubic-bezier(.215,.61,.355,1)}.hamburger--spin.is-active .hamburger-inner:before{top:0;opacity:0;transition:top .1s ease-out,opacity .1s ease-out .12s}.hamburger--spin.is-active .hamburger-inner:after{bottom:0;transform:rotate(-90deg);transition:bottom .1s ease-out,transform .22s cubic-bezier(.215,.61,.355,1) .12s}.hamburger--spin-r .hamburger-inner{transition-duration:.22s;transition-timing-function:cubic-bezier(.55,.055,.675,.19)}.hamburger--spin-r .hamburger-inner:before{transition:top .1s ease-in .25s,opacity .1s ease-in}.hamburger--spin-r .hamburger-inner:after{transition:bottom .1s ease-in .25s,transform .22s cubic-bezier(.55,.055,.675,.19)}.hamburger--spin-r.is-active .hamburger-inner{transform:rotate(-225deg);transition-delay:.12s;transition-timing-function:cubic-bezier(.215,.61,.355,1)}.hamburger--spin-r.is-active .hamburger-inner:before{top:0;opacity:0;transition:top .1s ease-out,opacity .1s ease-out .12s}.hamburger--spin-r.is-active .hamburger-inner:after{bottom:0;transform:rotate(90deg);transition:bottom .1s ease-out,transform .22s cubic-bezier(.215,.61,.355,1) .12s}.hamburger--spring .hamburger-inner{top:2px;transition:background-color 0s linear .13s}.hamburger--spring .hamburger-inner:before{top:10px;transition:top .1s cubic-bezier(.33333,.66667,.66667,1) .2s,transform .13s cubic-bezier(.55,.055,.675,.19)}.hamburger--spring .hamburger-inner:after{top:20px;transition:top .2s cubic-bezier(.33333,.66667,.66667,1) .2s,transform .13s cubic-bezier(.55,.055,.675,.19)}.hamburger--spring.is-active .hamburger-inner{transition-delay:.22s;background-color:transparent}.hamburger--spring.is-active .hamburger-inner:before{top:0;transition:top .1s cubic-bezier(.33333,0,.66667,.33333) .15s,transform .13s cubic-bezier(.215,.61,.355,1) .22s;transform:translate3d(0,10px,0) rotate(45deg)}.hamburger--spring.is-active .hamburger-inner:after{top:0;transition:top .2s cubic-bezier(.33333,0,.66667,.33333),transform .13s cubic-bezier(.215,.61,.355,1) .22s;transform:translate3d(0,10px,0) rotate(-45deg)}.hamburger--spring-r .hamburger-inner{top:auto;bottom:0;transition-duration:.13s;transition-delay:0s;transition-timing-function:cubic-bezier(.55,.055,.675,.19)}.hamburger--spring-r .hamburger-inner:after{top:-20px;transition:top .2s cubic-bezier(.33333,.66667,.66667,1) .2s,opacity 0s linear}.hamburger--spring-r .hamburger-inner:before{transition:top .1s cubic-bezier(.33333,.66667,.66667,1) .2s,transform .13s cubic-bezier(.55,.055,.675,.19)}.hamburger--spring-r.is-active .hamburger-inner{transform:translate3d(0,-10px,0) rotate(-45deg);transition-delay:.22s;transition-timing-function:cubic-bezier(.215,.61,.355,1)}.hamburger--spring-r.is-active .hamburger-inner:after{top:0;opacity:0;transition:top .2s cubic-bezier(.33333,0,.66667,.33333),opacity 0s linear .22s}.hamburger--spring-r.is-active .hamburger-inner:before{top:0;transform:rotate(90deg);transition:top .1s cubic-bezier(.33333,0,.66667,.33333) .15s,transform .13s cubic-bezier(.215,.61,.355,1) .22s}.hamburger--stand .hamburger-inner{transition:transform 75ms cubic-bezier(.55,.055,.675,.19) .15s,background-color 0s linear 75ms}.hamburger--stand .hamburger-inner:before{transition:top 75ms ease-in 75ms,transform 75ms cubic-bezier(.55,.055,.675,.19) 0s}.hamburger--stand .hamburger-inner:after{transition:bottom 75ms ease-in 75ms,transform 75ms cubic-bezier(.55,.055,.675,.19) 0s}.hamburger--stand.is-active .hamburger-inner{transform:rotate(90deg);background-color:transparent;transition:transform 75ms cubic-bezier(.215,.61,.355,1) 0s,background-color 0s linear .15s}.hamburger--stand.is-active .hamburger-inner:before{top:0;transform:rotate(-45deg);transition:top 75ms ease-out .1s,transform 75ms cubic-bezier(.215,.61,.355,1) .15s}.hamburger--stand.is-active .hamburger-inner:after{bottom:0;transform:rotate(45deg);transition:bottom 75ms ease-out .1s,transform 75ms cubic-bezier(.215,.61,.355,1) .15s}.hamburger--stand-r .hamburger-inner{transition:transform 75ms cubic-bezier(.55,.055,.675,.19) .15s,background-color 0s linear 75ms}.hamburger--stand-r .hamburger-inner:before{transition:top 75ms ease-in 75ms,transform 75ms cubic-bezier(.55,.055,.675,.19) 0s}.hamburger--stand-r .hamburger-inner:after{transition:bottom 75ms ease-in 75ms,transform 75ms cubic-bezier(.55,.055,.675,.19) 0s}.hamburger--stand-r.is-active .hamburger-inner{transform:rotate(-90deg);background-color:transparent;transition:transform 75ms cubic-bezier(.215,.61,.355,1) 0s,background-color 0s linear .15s}.hamburger--stand-r.is-active .hamburger-inner:before{top:0;transform:rotate(-45deg);transition:top 75ms ease-out .1s,transform 75ms cubic-bezier(.215,.61,.355,1) .15s}.hamburger--stand-r.is-active .hamburger-inner:after{bottom:0;transform:rotate(45deg);transition:bottom 75ms ease-out .1s,transform 75ms cubic-bezier(.215,.61,.355,1) .15s}.hamburger--squeeze .hamburger-inner{transition-duration:75ms;transition-timing-function:cubic-bezier(.55,.055,.675,.19)}.hamburger--squeeze .hamburger-inner:before{transition:top 75ms ease .12s,opacity 75ms ease}.hamburger--squeeze .hamburger-inner:after{transition:bottom 75ms ease .12s,transform 75ms cubic-bezier(.55,.055,.675,.19)}.hamburger--squeeze.is-active .hamburger-inner{transform:rotate(45deg);transition-delay:.12s;transition-timing-function:cubic-bezier(.215,.61,.355,1)}.hamburger--squeeze.is-active .hamburger-inner:before{top:0;opacity:0;transition:top 75ms ease,opacity 75ms ease .12s}.hamburger--squeeze.is-active .hamburger-inner:after{bottom:0;transform:rotate(-90deg);transition:bottom 75ms ease,transform 75ms cubic-bezier(.215,.61,.355,1) .12s}.hamburger--vortex .hamburger-inner{transition-duration:.2s;transition-timing-function:cubic-bezier(.19,1,.22,1)}.hamburger--vortex .hamburger-inner:after,.hamburger--vortex .hamburger-inner:before{transition-duration:0s;transition-delay:.1s;transition-timing-function:linear}.hamburger--vortex .hamburger-inner:before{transition-property:top,opacity}.hamburger--vortex .hamburger-inner:after{transition-property:bottom,transform}.hamburger--vortex.is-active .hamburger-inner{transform:rotate(765deg);transition-timing-function:cubic-bezier(.19,1,.22,1)}.hamburger--vortex.is-active .hamburger-inner:after,.hamburger--vortex.is-active .hamburger-inner:before{transition-delay:0s}.hamburger--vortex.is-active .hamburger-inner:before{top:0;opacity:0}.hamburger--vortex.is-active .hamburger-inner:after{bottom:0;transform:rotate(90deg)}.hamburger--vortex-r .hamburger-inner{transition-duration:.2s;transition-timing-function:cubic-bezier(.19,1,.22,1)}.hamburger--vortex-r .hamburger-inner:after,.hamburger--vortex-r .hamburger-inner:before{transition-duration:0s;transition-delay:.1s;transition-timing-function:linear}.hamburger--vortex-r .hamburger-inner:before{transition-property:top,opacity}.hamburger--vortex-r .hamburger-inner:after{transition-property:bottom,transform}.hamburger--vortex-r.is-active .hamburger-inner{transform:rotate(-765deg);transition-timing-function:cubic-bezier(.19,1,.22,1)}.hamburger--vortex-r.is-active .hamburger-inner:after,.hamburger--vortex-r.is-active .hamburger-inner:before{transition-delay:0s}.hamburger--vortex-r.is-active .hamburger-inner:before{top:0;opacity:0}.hamburger--vortex-r.is-active .hamburger-inner:after{bottom:0;transform:rotate(-90deg)}.sidebar{background:#202e4e;position:fixed;z-index:2;width:100%;height:44px;box-shadow:0 .25rem .5rem -.1rem rgba(0,32,128,.2)}.sidebar__menu{position:absolute;font-weight:700;border:none;text-align:left;text-transform:uppercase;left:0;top:0;padding:.75rem 1rem;outline:0}.sidebar__menu-icon{height:24px}.sidebar__links{background:#202e4e;transition:transform .6s cubic-bezier(.165,.84,.44,1);transform-origin:0 0;transform:rotateX(-90deg);visibility:hidden;opacity:0;overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:378px;margin-top:44px;box-shadow:0 .25rem .5rem -.1rem rgba(0,32,128,.2);padding-bottom:1rem}.sidebar__links.is-active{transform:rotateX(0);visibility:visible;opacity:1}.sidebar__link{display:block;color:#e3f5ff;padding:.5rem .75rem;transition:all .1s ease-out;border-left:2px solid #576a85;margin:.5rem;font-weight:500;font-size:.95rem}.sidebar__link:hover{color:#88f4ff;background:hsla(0,0%,100%,.1);border-color:pink}.sidebar__section{padding:0 .75rem}.sidebar__section-heading{text-transform:capitalize;color:#e3f5ff;margin-bottom:.5rem}@media (min-width:992px){.sidebar{left:0;top:0;bottom:0;width:15%;max-width:250px;min-width:200px;height:100%;background:linear-gradient(-30deg,#2a3d67,#14264e);box-shadow:.4rem .4rem .8rem rgba(0,32,64,.1);overflow-y:auto;color:#fff}.sidebar::-webkit-scrollbar-track{background-color:rgba(0,0,0,.6)}.sidebar::-webkit-scrollbar{width:10px;background-color:#4b6191}.sidebar::-webkit-scrollbar-thumb{background-color:#4b6191}.sidebar__links{background:none;box-shadow:none;visibility:visible;opacity:1;transform:rotateX(0);margin-top:0;max-height:none}.sidebar__menu{display:none}}.header{position:relative;padding:5rem 1rem 4rem;background:#5b67ff;background:linear-gradient(45deg,#5cd2ff,#5b67ff,#681ae4);color:#fff;margin-bottom:2rem;text-align:center;overflow:hidden;z-index:1}.header:before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTkyMCAxMDgwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxOTIwIDEwODA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7Y2xpcC1wYXRoOnVybCgjU1ZHSURfMl8pO2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6Mi44MzU7fS5zdDF7Y2xpcC1wYXRoOnVybCgjU1ZHSURfMl8pO2ZpbGw6I0ZGRkZGRjt9LnN0MntmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjIuODM1O30uc3Qze2NsaXAtcGF0aDp1cmwoI1NWR0lEXzRfKTtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjIuODM1O30uc3Q0e2NsaXAtcGF0aDp1cmwoI1NWR0lEXzRfKTtmaWxsOiNGRkZGRkY7fS5zdDV7Y2xpcC1wYXRoOnVybCgjU1ZHSURfNl8pO2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6Mi44MzU7fS5zdDZ7Y2xpcC1wYXRoOnVybCgjU1ZHSURfOF8pO2ZpbGw6I0ZGRkZGRjt9LnN0N3tjbGlwLXBhdGg6dXJsKCNTVkdJRF84Xyk7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDoyLjgzNTt9LnN0OHtjbGlwLXBhdGg6dXJsKCNTVkdJRF8xMF8pO2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6Mi44MzU7fS5zdDl7Y2xpcC1wYXRoOnVybCgjU1ZHSURfMTBfKTtmaWxsOiNGRkZGRkY7fS5zdDEwe2NsaXAtcGF0aDp1cmwoI1NWR0lEXzEyXyk7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDoyLjgzNTt9LnN0MTF7Y2xpcC1wYXRoOnVybCgjU1ZHSURfMTJfKTt9PC9zdHlsZT48Zz48ZGVmcz48cmVjdCBpZD0iU1ZHSURfMV8iIHdpZHRoPSIxOTIwIiBoZWlnaHQ9IjEwODAiLz48L2RlZnM+PGNsaXBQYXRoIGlkPSJTVkdJRF8yXyI+PHVzZSB4bGluazpocmVmPSIjU1ZHSURfMV8iICBzdHlsZT0ib3ZlcmZsb3c6dmlzaWJsZTsiLz48L2NsaXBQYXRoPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xNTQyLjksOTEwLjNjNDQuMy0zNy45LDYxLjUtODIuNiw2Ni43LTEzMC4zIi8+PHBhdGggY2xhc3M9InN0MCIgZD0iTTE2NjMuOCw3MjQuOGMxMzIuMyw5LjQsMTQ3LjQtMTc5LjQsMjgxLjgtMTY5LjgiLz48cGF0aCBjbGFzcz0ic3QxIiBkPSJNMTcwMi4zLDM4MS4yYzYuNyw3LjcsMTguMyw4LjUsMjYsMS44YzcuNy02LjcsOC41LTE4LjMsMS44LTI2Yy02LjctNy43LTE4LjMtOC41LTI2LTEuOEMxNjk2LjQsMzYxLjksMTY5NS42LDM3My42LDE3MDIuMywzODEuMiIvPjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNTg2LjQsNzQzLjljMTMuNCwxNS40LDM2LjcsMTcuMSw1Mi4xLDMuN2MxNS40LTEzLjQsMTctMzYuNywzLjYtNTIuMWMtMTMuNC0xNS40LTM2LjctMTcuMS01Mi4xLTMuN0MxNTc0LjYsNzA1LjEsMTU3Myw3MjguNSwxNTg2LjQsNzQzLjkiLz48cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTA3LjksNDQ3LjFjLTE3LjMsNTkuMy03LjMsMTAyLjIsMTgsMTQ3LjMiLz48cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTA1LjIsNjc5LjljLTExMi4zLDYyLjEtMjcsMjE5LjgtMTQxLjEsMjgyLjkiLz48cGF0aCBjbGFzcz0ic3QxIiBkPSJNNjY0LjYsOTc2LjJjLTkuOC0yLjgtMjAsMi45LTIyLjgsMTIuNmMtMi44LDkuOCwyLjksMjAsMTIuNywyMi44YzkuOCwyLjgsMjAtMi45LDIyLjgtMTIuNlM2NzQuNCw5NzksNjY0LjYsOTc2LjIiLz48cGF0aCBjbGFzcz0ic3QxIiBkPSJNMzE4LjksOTY1LjVjLTkuOC0yLjgtMjAsMi45LTIyLjgsMTIuNmMtMi44LDkuOCwyLjksMjAsMTIuNywyMi44YzkuOCwyLjgsMjAtMi45LDIyLjgtMTIuNkMzMzQuNCw5NzguNSwzMjguNyw5NjguMywzMTguOSw5NjUuNSIvPjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik01NjQuMiw2MDljLTE5LjYtNS42LTQwLjEsNS43LTQ1LjcsMjUuM2MtNS42LDE5LjYsNS43LDQwLDI1LjQsNDUuN2MxOS42LDUuNiw0MC4xLTUuNyw0NS43LTI1LjNDNTk1LjEsNjM1LjEsNTgzLjgsNjE0LjYsNTY0LjIsNjA5Ii8+PHBhdGggY2xhc3M9InN0MCIgZD0iTTU5Mi44LDY4OS43YzU3LjksNzIuMywxMTYuMywxNDQuOCw4Ni4zLDI0Ny41Ii8+PHBhdGggY2xhc3M9InN0MCIgZD0iTTEzNjgsNDE0LjNjLTc4LjgsMjkuNC0xMDIuMS04OC0xODIuMS01OC4yIi8+PHBhdGggY2xhc3M9InN0MCIgZD0iTTE2NzQsMzUwLjJjLTc0LTM3LTEzOS4xLTE2LjktMjAyLjUsMTUuNyIvPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMzExLjItMjEuN2MtNTAuMywxMzAuNywxOS45LDI2Ny4yLDkwLDM2OC45Ii8+PHBhdGggY2xhc3M9InN0MSIgZD0iTTExNTEuNSwzNzQuM2M0LjQtOS4yLDAuNS0yMC4yLTguNy0yNC42Yy05LjItNC40LTIwLjItMC41LTI0LjYsOC43Yy00LjQsOS4yLTAuNSwyMC4yLDguNywyNC42QzExMzYuMSwzODcuNCwxMTQ3LjIsMzgzLjUsMTE1MS41LDM3NC4zIi8+PHBhdGggY2xhc3M9InN0MSIgZD0iTTE0NTguOSw0MDkuMmM4LjgtMTguNCwxLTQwLjQtMTcuNC00OS4yYy0xOC40LTguOC00MC41LTAuOS00OS4zLDE3LjVzLTEsNDAuNCwxNy40LDQ5LjJDMTQyOCw0MzUuNCwxNDUwLjEsNDI3LjYsMTQ1OC45LDQwOS4yIi8+PC9nPjxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik05NDgsODguMyIvPjxnPjxkZWZzPjxyZWN0IGlkPSJTVkdJRF8zXyIgd2lkdGg9IjE5MjAiIGhlaWdodD0iMTA4MCIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9IlNWR0lEXzRfIj48dXNlIHhsaW5rOmhyZWY9IiNTVkdJRF8zXyIgIHN0eWxlPSJvdmVyZmxvdzp2aXNpYmxlOyIvPjwvY2xpcFBhdGg+PHBhdGggY2xhc3M9InN0MyIgZD0iTTExMzUuNSwzMTUuNWMtNC42LTEwNS4xLTI0LjItMTE5LjMtMTAxLjktMTY5LjgiLz48cGF0aCBjbGFzcz0ic3Q0IiBkPSJNOTgxLjUsMTUzLjVjMjAuNC0wLjksMzYuMi0xOC4xLDM1LjMtMzguNGMtMC45LTIwLjMtMTguMS0zNi0zOC41LTM1LjFTOTQyLjEsOTgsOTQzLDExOC4zQzk0My45LDEzOC42LDk2MS4xLDE1NC40LDk4MS41LDE1My41Ii8+PC9nPjxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0xMDA3LjgsNzIuOCIvPjxnPjxkZWZzPjxyZWN0IGlkPSJTVkdJRF81XyIgd2lkdGg9IjE5MjAiIGhlaWdodD0iMTA4MCIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9IlNWR0lEXzZfIj48dXNlIHhsaW5rOmhyZWY9IiNTVkdJRF81XyIgIHN0eWxlPSJvdmVyZmxvdzp2aXNpYmxlOyIvPjwvY2xpcFBhdGg+PHBhdGggY2xhc3M9InN0NSIgZD0iTTIwMSw3ODYuNGM2LDgyLjktMTE0LjUsODQuMS0xMDguNCwxNjguMyIvPjxwYXRoIGNsYXNzPSJzdDUiIGQ9Ik0yMTkuNSw0ODMuMWMtNzMuMyw3OS4yLTYzLjksMTExLjctNDEuNiwyMDEuMSIvPjxwYXRoIGNsYXNzPSJzdDUiIGQ9Ik0tOTIuOSw0OTcuMmMxNDIuNCw2NS45LDE4My40LDM3LjYsMjk3LjctMzUuMSIvPjwvZz48cGF0aCBjbGFzcz0ic3QyIiBkPSJNMTQwLjksNzQ1LjgiLz48Zz48ZGVmcz48cmVjdCBpZD0iU1ZHSURfN18iIHdpZHRoPSIxOTIwIiBoZWlnaHQ9IjEwODAiLz48L2RlZnM+PGNsaXBQYXRoIGlkPSJTVkdJRF84XyI+PHVzZSB4bGluazpocmVmPSIjU1ZHSURfN18iICBzdHlsZT0ib3ZlcmZsb3c6dmlzaWJsZTsiLz48L2NsaXBQYXRoPjxwYXRoIGNsYXNzPSJzdDYiIGQ9Ik0xMDEuMSw5OTIuN2MtNy43LTYuNy0xOS4zLTUuOS0yNiwxLjhjLTYuNyw3LjctNS45LDE5LjMsMS44LDI2czE5LjMsNS45LDI2LTEuOEMxMDkuNiwxMDExLDEwOC44LDk5OS40LDEwMS4xLDk5Mi43Ii8+PHBhdGggY2xhc3M9InN0NiIgZD0iTTIxNi45LDcwNi4yYy0xNS40LTEzLjQtMzguOC0xMS44LTUyLjEsMy42Yy0xMy40LDE1LjQtMTEuNywzOC43LDMuNyw1Mi4xYzE1LjQsMTMuNCwzOC44LDExLjgsNTIuMS0zLjZDMjM0LDc0Mi45LDIzMi4zLDcxOS42LDIxNi45LDcwNi4yIi8+PHBhdGggY2xhc3M9InN0NyIgZD0iTTExNzAuNSwxMDY2LjljLTMzLTEyOC44LDE1MS45LTE3NS44LDExOC4zLTMwNi42Ii8+PHBhdGggY2xhc3M9InN0NiIgZD0iTTE1MDIuNSw5NjkuNGMtOC43LTUuMi0xMS42LTE2LjYtNi4zLTI1LjNjNS4yLTguNywxNi42LTExLjUsMjUuMy02LjNjOC43LDUuMiwxMS42LDE2LjYsNi4zLDI1LjNDMTUyMi41LDk3MS44LDE1MTEuMiw5NzQuNywxNTAyLjUsOTY5LjQiLz48cGF0aCBjbGFzcz0ic3Q2IiBkPSJNMTI1OC44LDcyNC4xYy04LjctNS4yLTExLjYtMTYuNi02LjMtMjUuM2M1LjItOC43LDE2LjYtMTEuNSwyNS4zLTYuM2M4LjcsNS4yLDExLjYsMTYuNiw2LjMsMjUuM0MxMjc4LjksNzI2LjYsMTI2Ny42LDcyOS40LDEyNTguOCw3MjQuMSIvPjxwYXRoIGNsYXNzPSJzdDciIGQ9Ik0xMDk0LjQsMzQyYy01OS43LTI5LjktODguMS0yOS44LTE1My45LTciLz48cGF0aCBjbGFzcz0ic3Q3IiBkPSJNODc0LjEsMjk3LjNDODMwLjQsMTcxLjQsNjU1LDIzOS4xLDYxMC42LDExMS4yIi8+PHBhdGggY2xhc3M9InN0NiIgZD0iTTU0NS41LDQwMy45YzQuNS05LjEsMC43LTIwLjItOC41LTI0LjZjLTkuMi00LjUtMjAuMi0wLjctMjQuNyw4LjVjLTQuNSw5LjEtMC43LDIwLjIsOC41LDI0LjZDNTMwLDQxNi45LDU0MSw0MTMuMSw1NDUuNSw0MDMuOSIvPjxwYXRoIGNsYXNzPSJzdDYiIGQ9Ik02MTYuMSw2NS43YzQuNS05LjEsMC43LTIwLjItOC41LTI0LjZjLTkuMi00LjUtMjAuMi0wLjctMjQuNyw4LjVjLTQuNSw5LjEtMC43LDIwLjIsOC41LDI0LjZDNjAwLjYsNzguNiw2MTEuNiw3NC44LDYxNi4xLDY1LjciLz48cGF0aCBjbGFzcz0ic3Q2IiBkPSJNOTI1LDM2OC45YzktMTguMywxLjQtNDAuNC0xNy00OS40Yy0xOC4zLTguOS00MC41LTEuMy00OS40LDE3Yy05LDE4LjMtMS40LDQwLjQsMTcsNDkuNEM4OTMuOSwzOTQuOCw5MTYsMzg3LjIsOTI1LDM2OC45Ii8+PHBhdGggY2xhc3M9InN0NyIgZD0iTTEwMzIuMiw1OTIuNGMxLjgsMTA0LjUtNzIuOCwxNTguOC0xNDcuNCwyMTMuNiIvPjxwYXRoIGNsYXNzPSJzdDciIGQ9Ik0xMDc0LjksNTMwLjRjOTAuNSwwLDEzNi41LDY4LjMsMTgyLjgsMTM2LjYiLz48cGF0aCBjbGFzcz0ic3Q2IiBkPSJNODUxLjUsODQzLjJjLTQuNiw5LjEtMTUuNywxMi43LTI0LjgsOC4xYy05LjEtNC42LTEyLjctMTUuNy04LjEtMjQuOHMxNS43LTEyLjcsMjQuOC04LjFDODUyLjUsODIzLDg1Ni4xLDgzNC4xLDg1MS41LDg0My4yIi8+PHBhdGggY2xhc3M9InN0NiIgZD0iTTEwNDAuNCw1NTMuNGMtNC42LDkuMS0xNS43LDEyLjctMjQuOCw4LjFjLTkuMS00LjYtMTIuNy0xNS43LTguMS0yNC44YzQuNi05LjEsMTUuNy0xMi43LDI0LjgtOC4xQzEwNDEuNCw1MzMuMiwxMDQ1LDU0NC4zLDEwNDAuNCw1NTMuNCIvPjwvZz48cGF0aCBjbGFzcz0ic3QyIiBkPSJNMTgyMCwyMTMuOSIvPjxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0xNjUxLjgsNzAuNSIvPjxnPjxkZWZzPjxyZWN0IGlkPSJTVkdJRF85XyIgd2lkdGg9IjE5MjAiIGhlaWdodD0iMTA4MCIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9IlNWR0lEXzEwXyI+PHVzZSB4bGluazpocmVmPSIjU1ZHSURfOV8iICBzdHlsZT0ib3ZlcmZsb3c6dmlzaWJsZTsiLz48L2NsaXBQYXRoPjxwYXRoIGNsYXNzPSJzdDgiIGQ9Ik0xNzI0LjYsMzE0LjJjMTMuOS03NS0xMDIuNy02Mi4zLTg4LjYtMTM4LjUiLz48cGF0aCBjbGFzcz0ic3Q5IiBkPSJNMTY3OS43LDExNS4yYzAsMjAuNC0xNi42LDM2LjktMzcsMzYuOWMtMjAuNCwwLTM3LTE2LjUtMzctMzYuOWMwLTIwLjQsMTYuNi0zNi45LDM3LTM2LjlDMTY2My4yLDc4LjIsMTY3OS43LDk0LjgsMTY3OS43LDExNS4yIi8+PHBhdGggY2xhc3M9InN0OCIgZD0iTTU0NS4yLDQwLjdjLTU4LjktMTAtMTA1LjIsNy0xNDYuMiwzNS41Ii8+PHBhdGggY2xhc3M9InN0OCIgZD0iTTM1NS44LDE1NC40YzE3LjksMTAzLjUtMTMxLjQsMTI5LjQtMTEzLjIsMjM0LjUiLz48cGF0aCBjbGFzcz0ic3Q5IiBkPSJNMzYuNywyNTYuMmMxLjctMTAtNS4xLTE5LjUtMTUuMi0yMS4yYy0xMC4xLTEuNy0xOS42LDUuMS0yMS4yLDE1LjFjLTEuNywxMCw1LjEsMTkuNSwxNS4yLDIxLjJDMjUuNSwyNzMsMzUsMjY2LjIsMzYuNywyNTYuMiIvPjxwYXRoIGNsYXNzPSJzdDkiIGQ9Ik0yNTAuMiw0MjMuMWMxMC4xLDEuNywxNi44LDExLjIsMTUuMiwyMS4ycy0xMS4yLDE2LjgtMjEuMiwxNS4xYy0xMC4xLTEuNy0xNi44LTExLjItMTUuMi0yMS4yQzIzMC42LDQyOC4yLDI0MC4xLDQyMS40LDI1MC4yLDQyMy4xIi8+PHBhdGggY2xhc3M9InN0OSIgZD0iTTM5MC4xLDExNC45YzMuNC0yMC4xLTEwLjEtMzkuMS0zMC4yLTQyLjVzLTM5LDEwLjItNDIuMywzMC4zYy0zLjQsMjAuMSwxMC4xLDM5LjEsMzAuMiw0Mi41QzM2Ny44LDE0OC42LDM4Ni43LDEzNSwzOTAuMSwxMTQuOSIvPjwvZz48cGF0aCBjbGFzcz0ic3QyIiBkPSJNMzY5LjYsODAuOSIvPjxnPjxkZWZzPjxyZWN0IGlkPSJTVkdJRF8xMV8iIHdpZHRoPSIxOTIwIiBoZWlnaHQ9IjEwODAiLz48L2RlZnM+PGNsaXBQYXRoIGlkPSJTVkdJRF8xMl8iPjx1c2UgeGxpbms6aHJlZj0iI1NWR0lEXzExXyIgIHN0eWxlPSJvdmVyZmxvdzp2aXNpYmxlOyIvPjwvY2xpcFBhdGg+PHBhdGggY2xhc3M9InN0MTAiIGQ9Ik03MTQuNyw5NjljMTYwLjUtNjIuOCwyODguNSwyOC43LDQxNy4xLDExOS45Ii8+PHBhdGggY2xhc3M9InN0MTEiIGQ9Ik0xNjA3LjEsNjU4LjIiLz48cGF0aCBjbGFzcz0ic3QxMCIgZD0iTTMxMy41LDE1Mi41Yy02NS40LDY1LjYtMTMxLDEzMS42LTIzNi40LDExMy43Ii8+PHBhdGggY2xhc3M9InN0MTAiIGQ9Ik04MzguNSwzODQuMWMtODAuNiw0NC4zLTE2MS42LDg4LjMtMjU3LjEsNDAuNSIvPjxwYXRoIGNsYXNzPSJzdDEwIiBkPSJNMTYwNy4zLDY2NS45Yy04LjYtOTUuMy0yMS4xLTE4Ni45LDY0LjEtMjU5LjkiLz48L2c+PHBhdGggY2xhc3M9InN0MiIgZD0iTTE0MTguMiwzOTUuNCIvPjwvc3ZnPg==);width:150%;height:150%;top:0;opacity:.1;z-index:-1}.header:after,.header:before{content:"";position:absolute;left:0}.header:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQxNCI+PHBhdGggZD0iTTEyIDEybDEyIDEySDBsMTItMTJ6IiBmaWxsPSIjZjZmN2ZkIi8+PC9zdmc+);background-size:24px 24px;width:100%;height:24px;bottom:-1px}.header__logo{height:146px;user-select:none}.header__heading{font-weight:200;font-size:3rem;margin:1rem 0;line-height:1.2}.header__description{font-size:1.5rem;max-width:600px;margin:0 auto 1rem;font-weight:300;letter-spacing:.4px}.header__css{background:-webkit-linear-gradient(-45deg,#f8ffc0,#88f4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:4rem}.header__github-button{color:#fff}@media (min-width:579px){.header{padding:6rem 0 5rem}.header__heading{font-size:3.75rem}}@media (min-width:992px){.header{padding:2.5rem 0 5rem}}.snippet{position:relative;background:#fff;padding:2rem 5%;box-shadow:0 .4rem .8rem -.1rem rgba(0,32,128,.1),0 0 0 1px #f0f2f7;border-radius:.25rem;font-size:1.1rem;margin-bottom:1.5rem}.snippet h3{font-size:2rem;padding:.5rem 0;border-bottom:1px solid rgba(0,32,128,.1);margin-bottom:1.25rem;margin-top:0;line-height:1.3}.snippet h3 span:not(.snippet__tag){margin-right:.75rem}.snippet code:not([class*=lang]){background:#fcfaff;border:1px solid #e2ddff;color:#4b00da;border-radius:.15rem;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:.9rem;padding:.2rem .4rem;margin:0 .1rem}.snippet ol{margin-top:.5rem}.snippet ol>li{margin-bottom:.5rem}.snippet>p{margin-top:.5rem}.snippet h4{display:inline-block;margin:1rem 0 .5rem;font-size:1.1rem;line-height:2}.snippet h4[data-type]{background:#333;padding:0 .5rem;border-radius:3px;font-size:.9rem;text-transform:uppercase;border:1px solid #c6d6ea;border-bottom-color:#b3c9e3;background:#fff;box-shadow:0 .25rem .5rem -.1rem rgba(0,32,64,.15)}.snippet h4[data-type=HTML]{color:#fff;border:none;background:linear-gradient(135deg,#ff4c9f,#ff7b74)}.snippet h4[data-type=CSS]{color:#fff;border:none;background:linear-gradient(135deg,#7983ff,#5f9de9)}.snippet h4[data-type=JavaScript]{color:#fff;border:none;background:linear-gradient(135deg,#ffb000,#f58818)}.snippet__browser-support{display:inline-block;font-size:2rem;font-weight:200;line-height:1;margin:.5rem 0}.snippet__subheading.is-html{color:#e22f70}.snippet__subheading.is-css{color:#0a91d4}.snippet__subheading.is-explanation{color:#4b00da}.snippet__support-note{color:#9fa5b5;font-weight:700}.snippet__requires-javascript{position:absolute;background:red;background:linear-gradient(145deg,#ff003b,#ff4b39);color:#fff;padding:.25rem .5rem;font-size:.9rem;transform:rotate(20deg);font-weight:700;top:1rem;right:0}.snippet-demo{background:#f5f6f9;border-radius:.25rem;padding:.75rem 1.25rem}.snippet-demo.is-distinct{background:linear-gradient(135deg,#ff4c9f,#ff7b74)}@media (min-width:768px){.snippet__requires-javascript{right:-.5rem}}.back-to-top-button{display:flex;justify-content:center;align-items:center;cursor:pointer;font-size:2rem;font-weight:700;background:#fff;width:4rem;height:4rem;position:fixed;right:2rem;bottom:2rem;border-radius:50%;user-select:none;box-shadow:0 .4rem .8rem -.1rem rgba(0,32,128,.15);transition:all .2s ease-out;visibility:hidden;opacity:0;z-index:1;border:1px solid rgba(0,32,128,.1);outline:0}.back-to-top-button:focus,.back-to-top-button:hover{transform:scale(1.1);box-shadow:0 .8rem 1.6rem -.2rem rgba(0,32,128,.15);color:#35a8ff}.back-to-top-button:focus{box-shadow:0 .8rem 1.6rem -.2rem rgba(0,32,128,.15),0 0 2px 2px #35a8ff;outline-style:none}.back-to-top-button.is-visible{visibility:visible;opacity:1}.tags{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;margin-bottom:1rem}.tags,.tags__tag{position:relative}.tags__tag{display:inline-block;top:-1px;font-weight:700;font-size:.75rem;text-transform:uppercase;color:#8385aa;white-space:nowrap;border:1px solid #c8cbf2;border-radius:2px;vertical-align:middle;line-height:2;padding:0 .5rem;margin-right:.5rem;transition:all .1s ease-out;outline:0}.tags__tag.is-large{font-size:.95rem;border-radius:.2rem}.tags__tag.is-large .feather{top:-2px;width:18px;height:18px}.tags__tag .feather{vertical-align:middle;margin-right:.25rem;position:relative;top:-1px;width:14px;height:14px}.tags button.tags__tag{user-select:none;cursor:pointer;margin-bottom:1rem;margin-right:1rem;background:#fff}.tags button.tags__tag:hover{background:#8385aa;border-color:#8385aa;color:#fff}.tags button.tags__tag.focus-visible:focus{box-shadow:0 0 0 .25rem rgba(131,133,170,.5)}.tags button.tags__tag:active{box-shadow:inset 0 .1rem .1rem .1rem rgba(0,0,0,.2);background:#666894;border-color:#666894}.tags button.tags__tag.is-active{background:#7983ff;border-color:#7983ff;color:#fff}.tags button.tags__tag.is-active.focus-visible:focus{box-shadow:0 0 0 .25rem rgba(121,131,255,.5)} \ No newline at end of file diff --git a/docs/6c831ee080ce0f905632cb113dfa17d9.js b/docs/6c831ee080ce0f905632cb113dfa17d9.js new file mode 100644 index 000000000..dbee91ef2 --- /dev/null +++ b/docs/6c831ee080ce0f905632cb113dfa17d9.js @@ -0,0 +1,28 @@ +require=function(r,e,n){function t(n,o){function i(r){return t(i.resolve(r))}function f(e){return r[n][1][e]||e}if(!e[n]){if(!r[n]){var c="function"==typeof require&&require;if(!o&&c)return c(n,!0);if(u)return u(n,!0);var l=new Error("Cannot find module '"+n+"'");throw l.code="MODULE_NOT_FOUND",l}i.resolve=f;var s=e[n]=new t.Module(n);r[n][0].call(s.exports,i,s,s.exports)}return e[n].exports}function o(r){this.id=r,this.bundle=t,this.exports={}}var u="function"==typeof require&&require;t.isParcelRequire=!0,t.Module=o,t.modules=r,t.cache=e,t.parent=u;for(var i=0;ie.length)return;if(!(w instanceof o)){p.lastIndex=0;var x=1;if(!(C=p.exec(w))&&f&&v!=t.length-1){if(p.lastIndex=k,!(C=p.exec(e)))break;for(var F=C.index+(h?C[1].length:0),S=C.index+C[0].length,A=v,j=k,P=t.length;A=(j+=t[A].length)&&(++v,k=j);if(t[v]instanceof o||t[A-1].greedy)continue;x=A-v,w=e.slice(k,j),C.index-=k}if(C){h&&(m=C[1].length);S=(F=C.index+m)+(C=C[0].slice(m)).length;var C,N=w.slice(0,F),O=w.slice(S),E=[v,x];N&&(++v,k+=N.length,E.push(N));var $=new o(u,d?n.tokenize(C,d):C,y,C,f);if(E.push($),O&&E.push(O),Array.prototype.splice.apply(t,E),1!=x&&n.matchGrammar(e,t,a,v,k,!0,u),s)break}else if(s)break}}}}},tokenize:function(e,t,a){var r=[e],i=t.rest;if(i){for(var s in i)t[s]=i[s];delete t.rest}return n.matchGrammar(e,r,t,0,0,!1),r},hooks:{all:{},add:function(e,t){var a=n.hooks.all;a[e]=a[e]||[],a[e].push(t)},run:function(e,t){var a=n.hooks.all[e];if(a&&a.length)for(var r,i=0;r=a[i++];)r(t)}}},r=n.Token=function(e,t,a,n,r){this.type=e,this.content=t,this.alias=a,this.length=0|(n||"").length,this.greedy=!!r};if(r.stringify=function(e,t,a){if("string"==typeof e)return e;if("Array"===n.util.type(e))return e.map(function(a){return r.stringify(a,t,e)}).join("");var i={type:e.type,content:r.stringify(e.content,t,a),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:a};if(e.alias){var s="Array"===n.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,s)}n.hooks.run("wrap",i);var l=Object.keys(i.attributes).map(function(e){return e+'="'+(i.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+(l?" "+l:"")+">"+i.content+""},!t.document)return t.addEventListener?(n.disableWorkerMessageHandler||t.addEventListener("message",function(e){var a=JSON.parse(e.data),r=a.language,i=a.code,s=a.immediateClose;t.postMessage(n.highlight(i,n.languages[r],r)),s&&t.close()},!1),t.Prism):t.Prism;var i=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return i&&(n.filename=i.src,n.manual||i.hasAttribute("data-manual")||("loading"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(n.highlightAll):window.setTimeout(n.highlightAll,16):document.addEventListener("DOMContentLoaded",n.highlightAll))),t.Prism}();"undefined"!=typeof module&&module.exports&&(module.exports=a),void 0!==e&&(e.Prism=a),a.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype://i,cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/(^|[^\\])["']/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},a.languages.markup.tag.inside["attr-value"].inside.entity=a.languages.markup.entity,a.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),a.languages.xml=a.languages.markup,a.languages.html=a.languages.markup,a.languages.mathml=a.languages.markup,a.languages.svg=a.languages.markup,a.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(?:;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^{}\s][^{};]*?(?=\s*\{)/,string:{pattern:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/\B!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:]/},a.languages.css.atrule.inside.rest=a.util.clone(a.languages.css),a.languages.markup&&(a.languages.insertBefore("markup","tag",{style:{pattern:/()[\s\S]*?(?=<\/style>)/i,lookbehind:!0,inside:a.languages.css,alias:"language-css",greedy:!0}}),a.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:a.languages.markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:a.languages.css}},alias:"language-css"}},a.languages.markup.tag)),a.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/[a-z0-9_]+(?=\()/i,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},a.languages.javascript=a.languages.extend("clike",{keyword:/\b(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,number:/\b-?(?:0[xX][\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+|\d*\.?\d+(?:[Ee][+-]?\d+)?|NaN|Infinity)\b/,function:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*\()/i,operator:/-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/}),a.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[[^\]\r\n]+]|\\.|[^/\\\[\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=\s*(?:function\b|(?:\([^()]*\)|[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/i,alias:"function"}}),a.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,greedy:!0,inside:{interpolation:{pattern:/\$\{[^}]+\}/,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:a.languages.javascript}},string:/[\s\S]+/}}}),a.languages.markup&&a.languages.insertBefore("markup","tag",{script:{pattern:/()[\s\S]*?(?=<\/script>)/i,lookbehind:!0,inside:a.languages.javascript,alias:"language-javascript",greedy:!0}}),a.languages.js=a.languages.javascript,"undefined"!=typeof self&&self.Prism&&self.document&&document.querySelector&&(self.Prism.fileHighlight=function(){var e={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"};Array.prototype.slice.call(document.querySelectorAll("pre[data-src]")).forEach(function(t){for(var n,r=t.getAttribute("data-src"),i=t,s=/\blang(?:uage)?-(?!\*)(\w+)\b/i;i&&!s.test(i.className);)i=i.parentNode;if(i&&(n=(t.className.match(s)||[,""])[1]),!n){var l=(r.match(/\.(\w+)$/)||[,""])[1];n=e[l]||l}var o=document.createElement("code");o.className="language-"+n,t.textContent="",o.textContent="Loading…",t.appendChild(o);var u=new XMLHttpRequest;u.open("GET",r,!0),u.onreadystatechange=function(){4==u.readyState&&(u.status<400&&u.responseText?(o.textContent=u.responseText,a.highlightElement(o)):u.status>=400?o.textContent="✖ Error "+u.status+" while fetching file: "+u.statusText:o.textContent="✖ Error: File does not exist or is empty")},u.send(null)})},document.addEventListener("DOMContentLoaded",self.Prism.fileHighlight)); +},{}],21:[function(require,module,exports) { +var global = (1,eval)("this"); +var e=(0,eval)("this");!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.feather=n():e.feather=n()}("undefined"!=typeof self?self:this,function(){return function(e){var n={};function i(t){if(n[t])return n[t].exports;var l=n[t]={i:t,l:!1,exports:{}};return e[t].call(l.exports,l,l.exports,i),l.l=!0,l.exports}return i.m=e,i.c=n,i.d=function(e,n,t){i.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:t})},i.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(n,"a",n),n},i.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},i.p="",i(i.s=49)}([function(e,n,i){var t=i(36)("wks"),l=i(15),r=i(1).Symbol,o="function"==typeof r;(e.exports=function(e){return t[e]||(t[e]=o&&r[e]||(o?r:l)("Symbol."+e))}).store=t},function(e,n){var i=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(e,n){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,n,i){var t=i(1),l=i(7),r=i(8),o=i(10),a=i(11),c=function(e,n,i){var y,p,h,x,s=e&c.F,u=e&c.G,f=e&c.S,d=e&c.P,v=e&c.B,g=u?t:f?t[n]||(t[n]={}):(t[n]||{}).prototype,m=u?l:l[n]||(l[n]={}),M=m.prototype||(m.prototype={});for(y in u&&(i=n),i)h=((p=!s&&g&&void 0!==g[y])?g:i)[y],x=v&&p?a(h,t):d&&"function"==typeof h?a(Function.call,h):h,g&&o(g,y,h,e&c.U),m[y]!=h&&r(m,y,x),d&&M[y]!=h&&(M[y]=h)};t.core=l,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,e.exports=c},function(e,n,i){var t=i(9),l=i(29),r=i(31),o=Object.defineProperty;n.f=i(5)?Object.defineProperty:function(e,n,i){if(t(e),n=r(n,!0),t(i),l)try{return o(e,n,i)}catch(e){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(e[n]=i.value),e}},function(e,n,i){e.exports=!i(12)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,n){var i={}.hasOwnProperty;e.exports=function(e,n){return i.call(e,n)}},function(e,n){var i=e.exports={version:"2.5.3"};"number"==typeof __e&&(__e=i)},function(e,n,i){var t=i(4),l=i(14);e.exports=i(5)?function(e,n,i){return t.f(e,n,l(1,i))}:function(e,n,i){return e[n]=i,e}},function(e,n,i){var t=i(2);e.exports=function(e){if(!t(e))throw TypeError(e+" is not an object!");return e}},function(e,n,i){var t=i(1),l=i(8),r=i(6),o=i(15)("src"),a=Function.toString,c=(""+a).split("toString");i(7).inspectSource=function(e){return a.call(e)},(e.exports=function(e,n,i,a){var y="function"==typeof i;y&&(r(i,"name")||l(i,"name",n)),e[n]!==i&&(y&&(r(i,o)||l(i,o,e[n]?""+e[n]:c.join(String(n)))),e===t?e[n]=i:a?e[n]?e[n]=i:l(e,n,i):(delete e[n],l(e,n,i)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[o]||a.call(this)})},function(e,n,i){var t=i(32);e.exports=function(e,n,i){if(t(e),void 0===n)return e;switch(i){case 1:return function(i){return e.call(n,i)};case 2:return function(i,t){return e.call(n,i,t)};case 3:return function(i,t,l){return e.call(n,i,t,l)}}return function(){return e.apply(n,arguments)}}},function(e,n){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,n){e.exports={}},function(e,n){e.exports=function(e,n){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:n}}},function(e,n){var i=0,t=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++i+t).toString(36))}},function(e,n,i){var t=i(34),l=i(19);e.exports=function(e){return t(l(e))}},function(e,n,i){var t=i(11),l=i(38),r=i(39),o=i(9),a=i(22),c=i(40),y={},p={};(n=e.exports=function(e,n,i,h,x){var s,u,f,d,v=x?function(){return e}:c(e),g=t(i,h,n?2:1),m=0;if("function"!=typeof v)throw TypeError(e+" is not iterable!");if(r(v)){for(s=a(e.length);s>m;m++)if((d=n?g(o(u=e[m])[0],u[1]):g(e[m]))===y||d===p)return d}else for(f=v.call(e);!(u=f.next()).done;)if((d=l(f,g,u.value,n))===y||d===p)return d}).BREAK=y,n.RETURN=p},function(e,n){var i=Math.ceil,t=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?t:i)(e)}},function(e,n){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,n,i){"use strict";var t=i(52),l=i(3),r=i(10),o=i(8),a=i(6),c=i(13),y=i(53),p=i(24),h=i(59),x=i(0)("iterator"),s=!([].keys&&"next"in[].keys()),u=function(){return this};e.exports=function(e,n,i,f,d,v,g){y(i,n,f);var m,M,w,b=function(e){if(!s&&e in k)return k[e];switch(e){case"keys":case"values":return function(){return new i(this,e)}}return function(){return new i(this,e)}},A=n+" Iterator",_="values"==d,z=!1,k=e.prototype,S=k[x]||k["@@iterator"]||d&&k[d],H=!s&&S||b(d),V=d?_?b("entries"):H:void 0,O="Array"==n&&k.entries||S;if(O&&(w=h(O.call(new e)))!==Object.prototype&&w.next&&(p(w,A,!0),t||a(w,x)||o(w,x,u)),_&&S&&"values"!==S.name&&(z=!0,H=function(){return S.call(this)}),t&&!g||!s&&!z&&k[x]||o(k,x,H),c[n]=H,c[A]=u,d)if(m={values:_?H:b("values"),keys:v?H:b("keys"),entries:V},g)for(M in m)M in k||r(k,M,m[M]);else l(l.P+l.F*(s||z),n,m);return m}},function(e,n,i){var t=i(55),l=i(37);e.exports=Object.keys||function(e){return t(e,l)}},function(e,n,i){var t=i(18),l=Math.min;e.exports=function(e){return e>0?l(t(e),9007199254740991):0}},function(e,n,i){var t=i(36)("keys"),l=i(15);e.exports=function(e){return t[e]||(t[e]=l(e))}},function(e,n,i){var t=i(4).f,l=i(6),r=i(0)("toStringTag");e.exports=function(e,n,i){e&&!l(e=i?e:e.prototype,r)&&t(e,r,{configurable:!0,value:n})}},function(e,n,i){var t=i(19);e.exports=function(e){return Object(t(e))}},function(e,n,i){var t=i(35),l=i(0)("toStringTag"),r="Arguments"==t(function(){return arguments}());e.exports=function(e){var n,i,o;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(i=function(e,n){try{return e[n]}catch(e){}}(n=Object(e),l))?i:r?t(n):"Object"==(o=t(n))&&"function"==typeof n.callee?"Arguments":o}},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=o(i(86)),l=o(i(88)),r=o(i(89));function o(e){return e&&e.__esModule?e:{default:e}}n.default=Object.keys(l.default).map(function(e){return new t.default(e,l.default[e],r.default[e])}).reduce(function(e,n){return e[n.name]=n,e},{})},function(e,n,i){"use strict";var t=i(51)(!0);i(20)(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,n=this._t,i=this._i;return i>=n.length?{value:void 0,done:!0}:(e=t(n,i),this._i+=e.length,{value:e,done:!1})})},function(e,n,i){e.exports=!i(5)&&!i(12)(function(){return 7!=Object.defineProperty(i(30)("div"),"a",{get:function(){return 7}}).a})},function(e,n,i){var t=i(2),l=i(1).document,r=t(l)&&t(l.createElement);e.exports=function(e){return r?l.createElement(e):{}}},function(e,n,i){var t=i(2);e.exports=function(e,n){if(!t(e))return e;var i,l;if(n&&"function"==typeof(i=e.toString)&&!t(l=i.call(e)))return l;if("function"==typeof(i=e.valueOf)&&!t(l=i.call(e)))return l;if(!n&&"function"==typeof(i=e.toString)&&!t(l=i.call(e)))return l;throw TypeError("Can't convert object to primitive value")}},function(e,n){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,n,i){var t=i(9),l=i(54),r=i(37),o=i(23)("IE_PROTO"),a=function(){},c=function(){var e,n=i(30)("iframe"),t=r.length;for(n.style.display="none",i(58).appendChild(n),n.src="javascript:",(e=n.contentWindow.document).open(),e.write("

30 Seconds of CSS

A curated collection of useful CSS snippets you can understand in 30 seconds or less.

Star

Box-sizing resetlayout

Resets the box-model so that widths and heights are not affected by their borders or padding.

CSS

html {
+     30 Seconds of CSS         

30 Seconds of CSS

A curated collection of useful CSS snippets you can understand in 30 seconds or less.

Star

Box-sizing resetlayout

Resets the box-model so that widths and heights are not affected by their borders or padding.

CSS

html {
   box-sizing: border-box;
 }
 *,
@@ -6,7 +6,7 @@
 *::after {
   box-sizing: inherit;
 }
-

Demo

Demo

Explanation

  1. box-sizing: border-box makes the addition of padding or borders not affect an element's width or height.
  2. box-sizing: inherit makes an element respect its parent's box-sizing rule.

Browser support

98.2%

✅ No caveats.

Clearfixlayout

Ensures that an element self-clears its children.

Note: This is only useful if you are still using float to build layouts. Please consider using a modern approach with flexbox layout or grid layout.

HTML

<div class="clearfix">
+

Demo

Demo

Explanation

  1. box-sizing: border-box makes the addition of padding or borders not affect an element's width or height.
  2. box-sizing: inherit makes an element respect its parent's box-sizing rule.

Browser support

98.2%

✅ No caveats.

Clearfixlayout

Ensures that an element self-clears its children.

Note: This is only useful if you are still using float to build layouts. Please consider using a modern approach with flexbox layout or grid layout.

HTML

<div class="clearfix">
   <div class="floated">float a</div>
   <div class="floated">float b</div>
   <div class="floated">float c</div>
@@ -19,7 +19,7 @@
 .floated {
   float: left;
 }
-

Demo

float a
float b
float c

Explanation

  1. .clearfix::after defines a pseudo-element.
  2. content: '' allows the pseudo-element to affect layout.
  3. clear: both indicates that the left, right or both sides of the element cannot be adjacent to earlier floated elements within the same block formatting context.

Browser support

99+%

✅ No caveats.

Constant width to height ratiolayout

Given an element of variable width, it will ensure its height remains proportionate in a responsive fashion (i.e., its width to height ratio remains constant).

HTML

<div class="constant-width-to-height-ratio"></div>
+

Demo

float a
float b
float c

Explanation

  1. .clearfix::after defines a pseudo-element.
  2. content: '' allows the pseudo-element to affect layout.
  3. clear: both indicates that the left, right or both sides of the element cannot be adjacent to earlier floated elements within the same block formatting context.

Browser support

99+%

⚠️ For this snippet to work properly you need to ensure that there are no non-floating children in the container and that there are no tall floats before the clearfixed container but in the same formatting context (e.g. floated columns).

Constant width to height ratiolayout

Given an element of variable width, it will ensure its height remains proportionate in a responsive fashion (i.e., its width to height ratio remains constant).

HTML

<div class="constant-width-to-height-ratio"></div>
 

CSS

.constant-width-to-height-ratio {
   background: #333;
   width: 50%;
@@ -57,7 +57,7 @@
 

CSS

.unselectable {
   user-select: none;
 }
-

Demo

You can select me.

You can't select me!

Explanation

user-select: none specifies that the text cannot be selected.

Browser support

86.3%

⚠️ Requires prefixes for full support.

Donut spinneranimation

Creates a donut spinner that can be used to indicate the loading of content.

HTML

<div class="donut"></div>
+

Demo

You can select me.

You can't select me!

Explanation

user-select: none specifies that the text cannot be selected.

Browser support

86.3%

⚠️ Requires prefixes for full support. ⚠️ This is not a secure method to prevent users from copying content.

Donut spinneranimation

Creates a donut spinner that can be used to indicate the loading of content.

HTML

<div class="donut"></div>
 

CSS

@keyframes donut-spin {
   0% {
     transform: rotate(0deg);
@@ -121,7 +121,15 @@
   display: flex;
   justify-content: space-between;
 }
-

Demo

Item1

Item2

Item3

Explanation

  1. display: flex enables flexbox.
  2. justify-content: space-between evenly distributes child elements horizontally. The first item is positioned at the left edge, while the last item is positioned at the right edge.

Alternatively, use justify-content: space-around to distribute the children with space around them, rather than between them.

Browser support

97.8%

⚠️ Needs prefixes for full support.

Gradient textvisual

Gives text a gradient color.

HTML

<p class="gradient-text">Gradient text</p>
+

Demo

Item1

Item2

Item3

Explanation

  1. display: flex enables flexbox.
  2. justify-content: space-between evenly distributes child elements horizontally. The first item is positioned at the left edge, while the last item is positioned at the right edge.

Alternatively, use justify-content: space-around to distribute the children with space around them, rather than between them.

Browser support

97.8%

⚠️ Needs prefixes for full support.

Flexbox centeringlayout

Horizontally and vertically centers a child element within a parent element using flexbox.

HTML

<div class="flexbox-centering">
+  <div class="child"></div>
+</div>
+

CSS

.flexbox-centering {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+

Demo

Centered content.

Explanation

  1. display: flex enables flexbox.
  2. justify-content: center centers the child horizontally.
  3. align-items: center centers the child vertically.

Browser support

97.8%

⚠️ Needs prefixes for full support.

Gradient textvisual

Gives text a gradient color.

HTML

<p class="gradient-text">Gradient text</p>
 

CSS

.gradient-text {
   background: -webkit-linear-gradient(pink, red);
   -webkit-text-fill-color: transparent;
@@ -146,15 +154,7 @@
     box-shadow: 0 0 0 0.25px;
   }
 }
-

Demo

Text with a hairline border around it.

Explanation

  1. box-shadow, when only using spread, adds a pseudo-border which can use subpixels*.
  2. Use @media (min-resolution: ...) to check the device pixel ratio (1dppx equals 96 DPI), setting the spread of the box-shadow equal to 1 / dppx.

Browser Support

95.0%

⚠️ Needs alternate syntax and JavaScript user agent checking for full support.


*Chrome does not support subpixel values on border. Safari does not support subpixel values on box-shadow. Firefox supports subpixel values on both.

Horizontal and vertical centeringlayout

Horizontally and vertically centers a child element within a parent element.

HTML

<div class="horizontal-and-vertical-centering">
-  <div class="child"></div>
-</div>
-

CSS

.horizontal-and-vertical-centering {
-  display: flex;
-  justify-content: center;
-  align-items: center;
-}
-

Demo

Centered content.

Explanation

  1. display: flex enables flexbox.
  2. justify-content: center centers the child horizontally.
  3. align-items: center centers the child vertically.

Browser support

97.8%

⚠️ Needs prefixes for full support.

Hover underline animationanimation

Creates an animated underline effect when the text is hovered over.

Credit: https://flatuicolors.com/

HTML

<p class="hover-underline-animation">Hover this text to see the effect!</p>
+

Demo

Text with a hairline border around it.

Explanation

  1. box-shadow, when only using spread, adds a pseudo-border which can use subpixels*.
  2. Use @media (min-resolution: ...) to check the device pixel ratio (1dppx equals 96 DPI), setting the spread of the box-shadow equal to 1 / dppx.

Browser Support

95.0%

⚠️ Needs alternate syntax and JavaScript user agent checking for full support.


*Chrome does not support subpixel values on border. Safari does not support subpixel values on box-shadow. Firefox supports subpixel values on both.

Hover underline animationanimation

Creates an animated underline effect when the text is hovered over.

Credit: https://flatuicolors.com/

HTML

<p class="hover-underline-animation">Hover this text to see the effect!</p>
 

CSS

.hover-underline-animation {
   display: inline-block;
   position: relative;

From a41dad64a13698c5d9027f33ae6fd634804bc118 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Feje=C5=A1?= 
Date: Sat, 3 Mar 2018 11:13:59 +0100
Subject: [PATCH 04/11] add grid-centering

---
 docs/6c831ee080ce0f905632cb113dfa17d9.js |  8 ++--
 index.html                               | 49 ++++++++++++++++++++++
 snippets/grid-centering.md               | 52 ++++++++++++++++++++++++
 3 files changed, 105 insertions(+), 4 deletions(-)
 create mode 100644 snippets/grid-centering.md

diff --git a/docs/6c831ee080ce0f905632cb113dfa17d9.js b/docs/6c831ee080ce0f905632cb113dfa17d9.js
index dbee91ef2..d83b4a95e 100644
--- a/docs/6c831ee080ce0f905632cb113dfa17d9.js
+++ b/docs/6c831ee080ce0f905632cb113dfa17d9.js
@@ -1,8 +1,8 @@
-require=function(r,e,n){function t(n,o){function i(r){return t(i.resolve(r))}function f(e){return r[n][1][e]||e}if(!e[n]){if(!r[n]){var c="function"==typeof require&&require;if(!o&&c)return c(n,!0);if(u)return u(n,!0);var l=new Error("Cannot find module '"+n+"'");throw l.code="MODULE_NOT_FOUND",l}i.resolve=f;var s=e[n]=new t.Module(n);r[n][0].call(s.exports,i,s,s.exports)}return e[n].exports}function o(r){this.id=r,this.bundle=t,this.exports={}}var u="function"==typeof require&&require;t.isParcelRequire=!0,t.Module=o,t.modules=r,t.cache=e,t.parent=u;for(var i=0;ie.length)return;if(!(w instanceof o)){p.lastIndex=0;var x=1;if(!(C=p.exec(w))&&f&&v!=t.length-1){if(p.lastIndex=k,!(C=p.exec(e)))break;for(var F=C.index+(h?C[1].length:0),S=C.index+C[0].length,A=v,j=k,P=t.length;A=(j+=t[A].length)&&(++v,k=j);if(t[v]instanceof o||t[A-1].greedy)continue;x=A-v,w=e.slice(k,j),C.index-=k}if(C){h&&(m=C[1].length);S=(F=C.index+m)+(C=C[0].slice(m)).length;var C,N=w.slice(0,F),O=w.slice(S),E=[v,x];N&&(++v,k+=N.length,E.push(N));var $=new o(u,d?n.tokenize(C,d):C,y,C,f);if(E.push($),O&&E.push(O),Array.prototype.splice.apply(t,E),1!=x&&n.matchGrammar(e,t,a,v,k,!0,u),s)break}else if(s)break}}}}},tokenize:function(e,t,a){var r=[e],i=t.rest;if(i){for(var s in i)t[s]=i[s];delete t.rest}return n.matchGrammar(e,r,t,0,0,!1),r},hooks:{all:{},add:function(e,t){var a=n.hooks.all;a[e]=a[e]||[],a[e].push(t)},run:function(e,t){var a=n.hooks.all[e];if(a&&a.length)for(var r,i=0;r=a[i++];)r(t)}}},r=n.Token=function(e,t,a,n,r){this.type=e,this.content=t,this.alias=a,this.length=0|(n||"").length,this.greedy=!!r};if(r.stringify=function(e,t,a){if("string"==typeof e)return e;if("Array"===n.util.type(e))return e.map(function(a){return r.stringify(a,t,e)}).join("");var i={type:e.type,content:r.stringify(e.content,t,a),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:a};if(e.alias){var s="Array"===n.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,s)}n.hooks.run("wrap",i);var l=Object.keys(i.attributes).map(function(e){return e+'="'+(i.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+(l?" "+l:"")+">"+i.content+""},!t.document)return t.addEventListener?(n.disableWorkerMessageHandler||t.addEventListener("message",function(e){var a=JSON.parse(e.data),r=a.language,i=a.code,s=a.immediateClose;t.postMessage(n.highlight(i,n.languages[r],r)),s&&t.close()},!1),t.Prism):t.Prism;var i=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return i&&(n.filename=i.src,n.manual||i.hasAttribute("data-manual")||("loading"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(n.highlightAll):window.setTimeout(n.highlightAll,16):document.addEventListener("DOMContentLoaded",n.highlightAll))),t.Prism}();"undefined"!=typeof module&&module.exports&&(module.exports=a),void 0!==e&&(e.Prism=a),a.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype://i,cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/(^|[^\\])["']/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},a.languages.markup.tag.inside["attr-value"].inside.entity=a.languages.markup.entity,a.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),a.languages.xml=a.languages.markup,a.languages.html=a.languages.markup,a.languages.mathml=a.languages.markup,a.languages.svg=a.languages.markup,a.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(?:;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^{}\s][^{};]*?(?=\s*\{)/,string:{pattern:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/\B!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:]/},a.languages.css.atrule.inside.rest=a.util.clone(a.languages.css),a.languages.markup&&(a.languages.insertBefore("markup","tag",{style:{pattern:/()[\s\S]*?(?=<\/style>)/i,lookbehind:!0,inside:a.languages.css,alias:"language-css",greedy:!0}}),a.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:a.languages.markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:a.languages.css}},alias:"language-css"}},a.languages.markup.tag)),a.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/[a-z0-9_]+(?=\()/i,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},a.languages.javascript=a.languages.extend("clike",{keyword:/\b(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,number:/\b-?(?:0[xX][\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+|\d*\.?\d+(?:[Ee][+-]?\d+)?|NaN|Infinity)\b/,function:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*\()/i,operator:/-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/}),a.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[[^\]\r\n]+]|\\.|[^/\\\[\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=\s*(?:function\b|(?:\([^()]*\)|[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/i,alias:"function"}}),a.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,greedy:!0,inside:{interpolation:{pattern:/\$\{[^}]+\}/,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:a.languages.javascript}},string:/[\s\S]+/}}}),a.languages.markup&&a.languages.insertBefore("markup","tag",{script:{pattern:/()[\s\S]*?(?=<\/script>)/i,lookbehind:!0,inside:a.languages.javascript,alias:"language-javascript",greedy:!0}}),a.languages.js=a.languages.javascript,"undefined"!=typeof self&&self.Prism&&self.document&&document.querySelector&&(self.Prism.fileHighlight=function(){var e={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"};Array.prototype.slice.call(document.querySelectorAll("pre[data-src]")).forEach(function(t){for(var n,r=t.getAttribute("data-src"),i=t,s=/\blang(?:uage)?-(?!\*)(\w+)\b/i;i&&!s.test(i.className);)i=i.parentNode;if(i&&(n=(t.className.match(s)||[,""])[1]),!n){var l=(r.match(/\.(\w+)$/)||[,""])[1];n=e[l]||l}var o=document.createElement("code");o.className="language-"+n,t.textContent="",o.textContent="Loading…",t.appendChild(o);var u=new XMLHttpRequest;u.open("GET",r,!0),u.onreadystatechange=function(){4==u.readyState&&(u.status<400&&u.responseText?(o.textContent=u.responseText,a.highlightElement(o)):u.status>=400?o.textContent="✖ Error "+u.status+" while fetching file: "+u.statusText:o.textContent="✖ Error: File does not exist or is empty")},u.send(null)})},document.addEventListener("DOMContentLoaded",self.Prism.fileHighlight));
 },{}],21:[function(require,module,exports) {
@@ -25,4 +25,4 @@ var o=(0,eval)("this"),n="function"==typeof Symbol&&"symbol"==typeof Symbol.iter
 "use strict";var t=require("../deps/utils"),e=(0,t.selectAll)(".snippet");EventHub.on("Tag.click",function(l){e.forEach(function(e){(e.style.display="block","all"!==l.type)&&((0,t.selectAll)(".tags__tag",e).some(function(t){return t.dataset.type===l.type})||(e.style.display="none"))})});
 },{"../deps/utils":17}],7:[function(require,module,exports) {
 "use strict";require("focus-visible"),require("normalize.css"),require("prismjs");var e=require("feather-icons"),r=q(e);require("../css/deps/prism.css"),require("../css/index.scss"),require("./deps/polyfills");var s=require("./components/Sidebar"),i=q(s),u=require("./components/BackToTopButton"),o=q(u),n=require("./components/Tag"),c=q(n),t=require("./components/Snippet"),p=q(t);function q(e){return e&&e.__esModule?e:{default:e}}r.default.replace();
-},{"focus-visible":20,"normalize.css":18,"prismjs":19,"feather-icons":21,"../css/deps/prism.css":18,"../css/index.scss":18,"./deps/polyfills":11,"./components/Sidebar":12,"./components/BackToTopButton":13,"./components/Tag":14,"./components/Snippet":15}]},{},[7])
\ No newline at end of file
+},{"focus-visible":18,"normalize.css":19,"prismjs":20,"feather-icons":21,"../css/deps/prism.css":19,"../css/index.scss":19,"./deps/polyfills":11,"./components/Sidebar":12,"./components/BackToTopButton":13,"./components/Tag":14,"./components/Snippet":15}]},{},[7])
\ No newline at end of file
diff --git a/index.html b/index.html
index a2b1ae4d7..074de4e35 100644
--- a/index.html
+++ b/index.html
@@ -25,6 +25,7 @@
           Constant width to height ratio
           Evenly distributed children
           Flexbox centering
+          Grid centering
           Truncate text
         
         
+
+

Grid centeringlayout

+

Horizontally and vertically centers a child element within a parent element using grid.

+

HTML

<div class="grid-centering">
+  <div class="child"></div>
+</div>
+
+

CSS

.grid-centering {
+  display: grid;
+  justify-content: center;
+  align-items: center;
+}
+
+

Demo

+
+
+

Centered content.

+
+
+ +

Explanation

+
    +
  1. display: grid enables grid.
  2. +
  3. justify-content: center centers the child horizontally.
  4. +
  5. align-items: center centers the child vertically.
  6. +
+

Browser support

+
+
+ 97.8% +
+
+

⚠️ Needs prefixes for full support.

+ + + +

Hairline bordervisual

Gives an element a border equal to 1 native device pixel in width, which can look very sharp and crisp.

diff --git a/snippets/grid-centering.md b/snippets/grid-centering.md new file mode 100644 index 000000000..1f4e70a39 --- /dev/null +++ b/snippets/grid-centering.md @@ -0,0 +1,52 @@ +### Grid centering + +Horizontally and vertically centers a child element within a parent element using `grid`. + +#### HTML + +```html +
+
+
+``` + +#### CSS + +```css +.grid-centering { + display: grid; + justify-content: center; + align-items: center; +} +``` + +#### Demo + +
+
+

Centered content.

+
+
+ + + +#### Explanation + +1. `display: grid` enables grid. +2. `justify-content: center` centers the child horizontally. +3. `align-items: center` centers the child vertically. + +#### Browser support + +⚠️ Needs prefixes for full support. + +* https://caniuse.com/#feat=flexbox + + From b1d4151f64f27504c36dcaddeae51d09b6c3c69a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Feje=C5=A1?= Date: Sat, 3 Mar 2018 11:15:59 +0100 Subject: [PATCH 05/11] build and browser support for grid --- docs/6c831ee080ce0f905632cb113dfa17d9.js | 8 ++++---- docs/index.html | 14 +++++++++++--- index.html | 4 ++-- snippets/grid-centering.md | 2 +- 4 files changed, 18 insertions(+), 10 deletions(-) diff --git a/docs/6c831ee080ce0f905632cb113dfa17d9.js b/docs/6c831ee080ce0f905632cb113dfa17d9.js index d83b4a95e..5f70f2ba4 100644 --- a/docs/6c831ee080ce0f905632cb113dfa17d9.js +++ b/docs/6c831ee080ce0f905632cb113dfa17d9.js @@ -1,11 +1,11 @@ -require=function(r,e,n){function t(n,o){function i(r){return t(i.resolve(r))}function f(e){return r[n][1][e]||e}if(!e[n]){if(!r[n]){var c="function"==typeof require&&require;if(!o&&c)return c(n,!0);if(u)return u(n,!0);var l=new Error("Cannot find module '"+n+"'");throw l.code="MODULE_NOT_FOUND",l}i.resolve=f;var s=e[n]=new t.Module(n);r[n][0].call(s.exports,i,s,s.exports)}return e[n].exports}function o(r){this.id=r,this.bundle=t,this.exports={}}var u="function"==typeof require&&require;t.isParcelRequire=!0,t.Module=o,t.modules=r,t.cache=e,t.parent=u;for(var i=0;ie.length)return;if(!(w instanceof o)){p.lastIndex=0;var x=1;if(!(C=p.exec(w))&&f&&v!=t.length-1){if(p.lastIndex=k,!(C=p.exec(e)))break;for(var F=C.index+(h?C[1].length:0),S=C.index+C[0].length,A=v,j=k,P=t.length;A=(j+=t[A].length)&&(++v,k=j);if(t[v]instanceof o||t[A-1].greedy)continue;x=A-v,w=e.slice(k,j),C.index-=k}if(C){h&&(m=C[1].length);S=(F=C.index+m)+(C=C[0].slice(m)).length;var C,N=w.slice(0,F),O=w.slice(S),E=[v,x];N&&(++v,k+=N.length,E.push(N));var $=new o(u,d?n.tokenize(C,d):C,y,C,f);if(E.push($),O&&E.push(O),Array.prototype.splice.apply(t,E),1!=x&&n.matchGrammar(e,t,a,v,k,!0,u),s)break}else if(s)break}}}}},tokenize:function(e,t,a){var r=[e],i=t.rest;if(i){for(var s in i)t[s]=i[s];delete t.rest}return n.matchGrammar(e,r,t,0,0,!1),r},hooks:{all:{},add:function(e,t){var a=n.hooks.all;a[e]=a[e]||[],a[e].push(t)},run:function(e,t){var a=n.hooks.all[e];if(a&&a.length)for(var r,i=0;r=a[i++];)r(t)}}},r=n.Token=function(e,t,a,n,r){this.type=e,this.content=t,this.alias=a,this.length=0|(n||"").length,this.greedy=!!r};if(r.stringify=function(e,t,a){if("string"==typeof e)return e;if("Array"===n.util.type(e))return e.map(function(a){return r.stringify(a,t,e)}).join("");var i={type:e.type,content:r.stringify(e.content,t,a),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:a};if(e.alias){var s="Array"===n.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,s)}n.hooks.run("wrap",i);var l=Object.keys(i.attributes).map(function(e){return e+'="'+(i.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+(l?" "+l:"")+">"+i.content+""},!t.document)return t.addEventListener?(n.disableWorkerMessageHandler||t.addEventListener("message",function(e){var a=JSON.parse(e.data),r=a.language,i=a.code,s=a.immediateClose;t.postMessage(n.highlight(i,n.languages[r],r)),s&&t.close()},!1),t.Prism):t.Prism;var i=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return i&&(n.filename=i.src,n.manual||i.hasAttribute("data-manual")||("loading"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(n.highlightAll):window.setTimeout(n.highlightAll,16):document.addEventListener("DOMContentLoaded",n.highlightAll))),t.Prism}();"undefined"!=typeof module&&module.exports&&(module.exports=a),void 0!==e&&(e.Prism=a),a.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype://i,cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/(^|[^\\])["']/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},a.languages.markup.tag.inside["attr-value"].inside.entity=a.languages.markup.entity,a.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),a.languages.xml=a.languages.markup,a.languages.html=a.languages.markup,a.languages.mathml=a.languages.markup,a.languages.svg=a.languages.markup,a.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(?:;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^{}\s][^{};]*?(?=\s*\{)/,string:{pattern:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/\B!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:]/},a.languages.css.atrule.inside.rest=a.util.clone(a.languages.css),a.languages.markup&&(a.languages.insertBefore("markup","tag",{style:{pattern:/()[\s\S]*?(?=<\/style>)/i,lookbehind:!0,inside:a.languages.css,alias:"language-css",greedy:!0}}),a.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:a.languages.markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:a.languages.css}},alias:"language-css"}},a.languages.markup.tag)),a.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/[a-z0-9_]+(?=\()/i,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},a.languages.javascript=a.languages.extend("clike",{keyword:/\b(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,number:/\b-?(?:0[xX][\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+|\d*\.?\d+(?:[Ee][+-]?\d+)?|NaN|Infinity)\b/,function:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*\()/i,operator:/-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/}),a.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[[^\]\r\n]+]|\\.|[^/\\\[\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=\s*(?:function\b|(?:\([^()]*\)|[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/i,alias:"function"}}),a.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,greedy:!0,inside:{interpolation:{pattern:/\$\{[^}]+\}/,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:a.languages.javascript}},string:/[\s\S]+/}}}),a.languages.markup&&a.languages.insertBefore("markup","tag",{script:{pattern:/()[\s\S]*?(?=<\/script>)/i,lookbehind:!0,inside:a.languages.javascript,alias:"language-javascript",greedy:!0}}),a.languages.js=a.languages.javascript,"undefined"!=typeof self&&self.Prism&&self.document&&document.querySelector&&(self.Prism.fileHighlight=function(){var e={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"};Array.prototype.slice.call(document.querySelectorAll("pre[data-src]")).forEach(function(t){for(var n,r=t.getAttribute("data-src"),i=t,s=/\blang(?:uage)?-(?!\*)(\w+)\b/i;i&&!s.test(i.className);)i=i.parentNode;if(i&&(n=(t.className.match(s)||[,""])[1]),!n){var l=(r.match(/\.(\w+)$/)||[,""])[1];n=e[l]||l}var o=document.createElement("code");o.className="language-"+n,t.textContent="",o.textContent="Loading…",t.appendChild(o);var u=new XMLHttpRequest;u.open("GET",r,!0),u.onreadystatechange=function(){4==u.readyState&&(u.status<400&&u.responseText?(o.textContent=u.responseText,a.highlightElement(o)):u.status>=400?o.textContent="✖ Error "+u.status+" while fetching file: "+u.statusText:o.textContent="✖ Error: File does not exist or is empty")},u.send(null)})},document.addEventListener("DOMContentLoaded",self.Prism.fileHighlight)); -},{}],21:[function(require,module,exports) { +},{}],20:[function(require,module,exports) { var global = (1,eval)("this"); var e=(0,eval)("this");!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.feather=n():e.feather=n()}("undefined"!=typeof self?self:this,function(){return function(e){var n={};function i(t){if(n[t])return n[t].exports;var l=n[t]={i:t,l:!1,exports:{}};return e[t].call(l.exports,l,l.exports,i),l.l=!0,l.exports}return i.m=e,i.c=n,i.d=function(e,n,t){i.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:t})},i.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(n,"a",n),n},i.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},i.p="",i(i.s=49)}([function(e,n,i){var t=i(36)("wks"),l=i(15),r=i(1).Symbol,o="function"==typeof r;(e.exports=function(e){return t[e]||(t[e]=o&&r[e]||(o?r:l)("Symbol."+e))}).store=t},function(e,n){var i=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(e,n){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,n,i){var t=i(1),l=i(7),r=i(8),o=i(10),a=i(11),c=function(e,n,i){var y,p,h,x,s=e&c.F,u=e&c.G,f=e&c.S,d=e&c.P,v=e&c.B,g=u?t:f?t[n]||(t[n]={}):(t[n]||{}).prototype,m=u?l:l[n]||(l[n]={}),M=m.prototype||(m.prototype={});for(y in u&&(i=n),i)h=((p=!s&&g&&void 0!==g[y])?g:i)[y],x=v&&p?a(h,t):d&&"function"==typeof h?a(Function.call,h):h,g&&o(g,y,h,e&c.U),m[y]!=h&&r(m,y,x),d&&M[y]!=h&&(M[y]=h)};t.core=l,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,e.exports=c},function(e,n,i){var t=i(9),l=i(29),r=i(31),o=Object.defineProperty;n.f=i(5)?Object.defineProperty:function(e,n,i){if(t(e),n=r(n,!0),t(i),l)try{return o(e,n,i)}catch(e){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(e[n]=i.value),e}},function(e,n,i){e.exports=!i(12)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,n){var i={}.hasOwnProperty;e.exports=function(e,n){return i.call(e,n)}},function(e,n){var i=e.exports={version:"2.5.3"};"number"==typeof __e&&(__e=i)},function(e,n,i){var t=i(4),l=i(14);e.exports=i(5)?function(e,n,i){return t.f(e,n,l(1,i))}:function(e,n,i){return e[n]=i,e}},function(e,n,i){var t=i(2);e.exports=function(e){if(!t(e))throw TypeError(e+" is not an object!");return e}},function(e,n,i){var t=i(1),l=i(8),r=i(6),o=i(15)("src"),a=Function.toString,c=(""+a).split("toString");i(7).inspectSource=function(e){return a.call(e)},(e.exports=function(e,n,i,a){var y="function"==typeof i;y&&(r(i,"name")||l(i,"name",n)),e[n]!==i&&(y&&(r(i,o)||l(i,o,e[n]?""+e[n]:c.join(String(n)))),e===t?e[n]=i:a?e[n]?e[n]=i:l(e,n,i):(delete e[n],l(e,n,i)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[o]||a.call(this)})},function(e,n,i){var t=i(32);e.exports=function(e,n,i){if(t(e),void 0===n)return e;switch(i){case 1:return function(i){return e.call(n,i)};case 2:return function(i,t){return e.call(n,i,t)};case 3:return function(i,t,l){return e.call(n,i,t,l)}}return function(){return e.apply(n,arguments)}}},function(e,n){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,n){e.exports={}},function(e,n){e.exports=function(e,n){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:n}}},function(e,n){var i=0,t=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++i+t).toString(36))}},function(e,n,i){var t=i(34),l=i(19);e.exports=function(e){return t(l(e))}},function(e,n,i){var t=i(11),l=i(38),r=i(39),o=i(9),a=i(22),c=i(40),y={},p={};(n=e.exports=function(e,n,i,h,x){var s,u,f,d,v=x?function(){return e}:c(e),g=t(i,h,n?2:1),m=0;if("function"!=typeof v)throw TypeError(e+" is not iterable!");if(r(v)){for(s=a(e.length);s>m;m++)if((d=n?g(o(u=e[m])[0],u[1]):g(e[m]))===y||d===p)return d}else for(f=v.call(e);!(u=f.next()).done;)if((d=l(f,g,u.value,n))===y||d===p)return d}).BREAK=y,n.RETURN=p},function(e,n){var i=Math.ceil,t=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?t:i)(e)}},function(e,n){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,n,i){"use strict";var t=i(52),l=i(3),r=i(10),o=i(8),a=i(6),c=i(13),y=i(53),p=i(24),h=i(59),x=i(0)("iterator"),s=!([].keys&&"next"in[].keys()),u=function(){return this};e.exports=function(e,n,i,f,d,v,g){y(i,n,f);var m,M,w,b=function(e){if(!s&&e in k)return k[e];switch(e){case"keys":case"values":return function(){return new i(this,e)}}return function(){return new i(this,e)}},A=n+" Iterator",_="values"==d,z=!1,k=e.prototype,S=k[x]||k["@@iterator"]||d&&k[d],H=!s&&S||b(d),V=d?_?b("entries"):H:void 0,O="Array"==n&&k.entries||S;if(O&&(w=h(O.call(new e)))!==Object.prototype&&w.next&&(p(w,A,!0),t||a(w,x)||o(w,x,u)),_&&S&&"values"!==S.name&&(z=!0,H=function(){return S.call(this)}),t&&!g||!s&&!z&&k[x]||o(k,x,H),c[n]=H,c[A]=u,d)if(m={values:_?H:b("values"),keys:v?H:b("keys"),entries:V},g)for(M in m)M in k||r(k,M,m[M]);else l(l.P+l.F*(s||z),n,m);return m}},function(e,n,i){var t=i(55),l=i(37);e.exports=Object.keys||function(e){return t(e,l)}},function(e,n,i){var t=i(18),l=Math.min;e.exports=function(e){return e>0?l(t(e),9007199254740991):0}},function(e,n,i){var t=i(36)("keys"),l=i(15);e.exports=function(e){return t[e]||(t[e]=l(e))}},function(e,n,i){var t=i(4).f,l=i(6),r=i(0)("toStringTag");e.exports=function(e,n,i){e&&!l(e=i?e:e.prototype,r)&&t(e,r,{configurable:!0,value:n})}},function(e,n,i){var t=i(19);e.exports=function(e){return Object(t(e))}},function(e,n,i){var t=i(35),l=i(0)("toStringTag"),r="Arguments"==t(function(){return arguments}());e.exports=function(e){var n,i,o;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(i=function(e,n){try{return e[n]}catch(e){}}(n=Object(e),l))?i:r?t(n):"Object"==(o=t(n))&&"function"==typeof n.callee?"Arguments":o}},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=o(i(86)),l=o(i(88)),r=o(i(89));function o(e){return e&&e.__esModule?e:{default:e}}n.default=Object.keys(l.default).map(function(e){return new t.default(e,l.default[e],r.default[e])}).reduce(function(e,n){return e[n.name]=n,e},{})},function(e,n,i){"use strict";var t=i(51)(!0);i(20)(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,n=this._t,i=this._i;return i>=n.length?{value:void 0,done:!0}:(e=t(n,i),this._i+=e.length,{value:e,done:!1})})},function(e,n,i){e.exports=!i(5)&&!i(12)(function(){return 7!=Object.defineProperty(i(30)("div"),"a",{get:function(){return 7}}).a})},function(e,n,i){var t=i(2),l=i(1).document,r=t(l)&&t(l.createElement);e.exports=function(e){return r?l.createElement(e):{}}},function(e,n,i){var t=i(2);e.exports=function(e,n){if(!t(e))return e;var i,l;if(n&&"function"==typeof(i=e.toString)&&!t(l=i.call(e)))return l;if("function"==typeof(i=e.valueOf)&&!t(l=i.call(e)))return l;if(!n&&"function"==typeof(i=e.toString)&&!t(l=i.call(e)))return l;throw TypeError("Can't convert object to primitive value")}},function(e,n){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,n,i){var t=i(9),l=i(54),r=i(37),o=i(23)("IE_PROTO"),a=function(){},c=function(){var e,n=i(30)("iframe"),t=r.length;for(n.style.display="none",i(58).appendChild(n),n.src="javascript:",(e=n.contentWindow.document).open(),e.write("

30 Seconds of CSS

A curated collection of useful CSS snippets you can understand in 30 seconds or less.

Star

Box-sizing resetlayout

Resets the box-model so that widths and heights are not affected by their borders or padding.

CSS

html {
+     30 Seconds of CSS         

30 Seconds of CSS

A curated collection of useful CSS snippets you can understand in 30 seconds or less.

Star

Box-sizing resetlayout

Resets the box-model so that widths and heights are not affected by their borders or padding.

CSS

html {
   box-sizing: border-box;
 }
 *,
@@ -6,7 +6,7 @@
 *::after {
   box-sizing: inherit;
 }
-

Demo

Demo

Explanation

  1. box-sizing: border-box makes the addition of padding or borders not affect an element's width or height.
  2. box-sizing: inherit makes an element respect its parent's box-sizing rule.

Browser support

98.2%

✅ No caveats.

Clearfixlayout

Ensures that an element self-clears its children.

Note: This is only useful if you are still using float to build layouts. Please consider using a modern approach with flexbox layout or grid layout.

HTML

<div class="clearfix">
+

Demo

Demo

Explanation

  1. box-sizing: border-box makes the addition of padding or borders not affect an element's width or height.
  2. box-sizing: inherit makes an element respect its parent's box-sizing rule.

Browser support

98.2%

✅ No caveats.

Clearfixlayout

Ensures that an element self-clears its children.

Note: This is only useful if you are still using float to build layouts. Please consider using a modern approach with flexbox layout or grid layout.

HTML

<div class="clearfix">
   <div class="floated">float a</div>
   <div class="floated">float b</div>
   <div class="floated">float c</div>
@@ -135,7 +135,15 @@
   -webkit-text-fill-color: transparent;
   -webkit-background-clip: text;
 }
-

Demo

Gradient text

Explanation

  1. background: -webkit-linear-gradient(...) gives the text element a gradient background.
  2. webkit-text-fill-color: transparent fills the text with a transparent color.
  3. webkit-background-clip: text clips the background with the text, filling the text with the gradient background as the color.

Browser support

90.7%

⚠️ Uses non-standard properties.

Hairline bordervisual

Gives an element a border equal to 1 native device pixel in width, which can look very sharp and crisp.

HTML

<div class="hairline-border">text</div>
+

Demo

Gradient text

Explanation

  1. background: -webkit-linear-gradient(...) gives the text element a gradient background.
  2. webkit-text-fill-color: transparent fills the text with a transparent color.
  3. webkit-background-clip: text clips the background with the text, filling the text with the gradient background as the color.

Browser support

90.7%

⚠️ Uses non-standard properties.

Grid centeringlayout

Horizontally and vertically centers a child element within a parent element using grid.

HTML

<div class="grid-centering">
+  <div class="child"></div>
+</div>
+

CSS

.grid-centering {
+  display: grid;
+  justify-content: center;
+  align-items: center;
+}
+

Demo

Centered content.

Explanation

  1. display: grid enables grid.
  2. justify-content: center centers the child horizontally.
  3. align-items: center centers the child vertically.

Browser support

86.6%

⚠️ Needs prefixes for full support.

Hairline bordervisual

Gives an element a border equal to 1 native device pixel in width, which can look very sharp and crisp.

HTML

<div class="hairline-border">text</div>
 

CSS

.hairline-border {
   box-shadow: 0 0 0 1px;
 }
diff --git a/index.html b/index.html
index 074de4e35..2f420b2c0 100644
--- a/index.html
+++ b/index.html
@@ -760,13 +760,13 @@ in any specification.

Browser support

- 97.8% + 86.6%

⚠️ Needs prefixes for full support.

diff --git a/snippets/grid-centering.md b/snippets/grid-centering.md index 1f4e70a39..403d092b0 100644 --- a/snippets/grid-centering.md +++ b/snippets/grid-centering.md @@ -47,6 +47,6 @@ Horizontally and vertically centers a child element within a parent element usin ⚠️ Needs prefixes for full support. -* https://caniuse.com/#feat=flexbox +* https://caniuse.com/#feat=css-grid From 488f91d8dbf08193e40a9b1d4dfaf853fba53320 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Feje=C5=A1?= Date: Sat, 3 Mar 2018 11:18:05 +0100 Subject: [PATCH 06/11] build --- docs/6c831ee080ce0f905632cb113dfa17d9.js | 10 +++++----- docs/index.html | 2 +- index.html | 2 +- snippets/grid-centering.md | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/6c831ee080ce0f905632cb113dfa17d9.js b/docs/6c831ee080ce0f905632cb113dfa17d9.js index 5f70f2ba4..0da6e7523 100644 --- a/docs/6c831ee080ce0f905632cb113dfa17d9.js +++ b/docs/6c831ee080ce0f905632cb113dfa17d9.js @@ -1,11 +1,11 @@ -require=function(r,e,n){function t(n,o){function i(r){return t(i.resolve(r))}function f(e){return r[n][1][e]||e}if(!e[n]){if(!r[n]){var c="function"==typeof require&&require;if(!o&&c)return c(n,!0);if(u)return u(n,!0);var l=new Error("Cannot find module '"+n+"'");throw l.code="MODULE_NOT_FOUND",l}i.resolve=f;var s=e[n]=new t.Module(n);r[n][0].call(s.exports,i,s,s.exports)}return e[n].exports}function o(r){this.id=r,this.bundle=t,this.exports={}}var u="function"==typeof require&&require;t.isParcelRequire=!0,t.Module=o,t.modules=r,t.cache=e,t.parent=u;for(var i=0;ie.length)return;if(!(w instanceof o)){p.lastIndex=0;var x=1;if(!(C=p.exec(w))&&f&&v!=t.length-1){if(p.lastIndex=k,!(C=p.exec(e)))break;for(var F=C.index+(h?C[1].length:0),S=C.index+C[0].length,A=v,j=k,P=t.length;A=(j+=t[A].length)&&(++v,k=j);if(t[v]instanceof o||t[A-1].greedy)continue;x=A-v,w=e.slice(k,j),C.index-=k}if(C){h&&(m=C[1].length);S=(F=C.index+m)+(C=C[0].slice(m)).length;var C,N=w.slice(0,F),O=w.slice(S),E=[v,x];N&&(++v,k+=N.length,E.push(N));var $=new o(u,d?n.tokenize(C,d):C,y,C,f);if(E.push($),O&&E.push(O),Array.prototype.splice.apply(t,E),1!=x&&n.matchGrammar(e,t,a,v,k,!0,u),s)break}else if(s)break}}}}},tokenize:function(e,t,a){var r=[e],i=t.rest;if(i){for(var s in i)t[s]=i[s];delete t.rest}return n.matchGrammar(e,r,t,0,0,!1),r},hooks:{all:{},add:function(e,t){var a=n.hooks.all;a[e]=a[e]||[],a[e].push(t)},run:function(e,t){var a=n.hooks.all[e];if(a&&a.length)for(var r,i=0;r=a[i++];)r(t)}}},r=n.Token=function(e,t,a,n,r){this.type=e,this.content=t,this.alias=a,this.length=0|(n||"").length,this.greedy=!!r};if(r.stringify=function(e,t,a){if("string"==typeof e)return e;if("Array"===n.util.type(e))return e.map(function(a){return r.stringify(a,t,e)}).join("");var i={type:e.type,content:r.stringify(e.content,t,a),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:a};if(e.alias){var s="Array"===n.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,s)}n.hooks.run("wrap",i);var l=Object.keys(i.attributes).map(function(e){return e+'="'+(i.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+(l?" "+l:"")+">"+i.content+""},!t.document)return t.addEventListener?(n.disableWorkerMessageHandler||t.addEventListener("message",function(e){var a=JSON.parse(e.data),r=a.language,i=a.code,s=a.immediateClose;t.postMessage(n.highlight(i,n.languages[r],r)),s&&t.close()},!1),t.Prism):t.Prism;var i=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return i&&(n.filename=i.src,n.manual||i.hasAttribute("data-manual")||("loading"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(n.highlightAll):window.setTimeout(n.highlightAll,16):document.addEventListener("DOMContentLoaded",n.highlightAll))),t.Prism}();"undefined"!=typeof module&&module.exports&&(module.exports=a),void 0!==e&&(e.Prism=a),a.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype://i,cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/(^|[^\\])["']/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},a.languages.markup.tag.inside["attr-value"].inside.entity=a.languages.markup.entity,a.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),a.languages.xml=a.languages.markup,a.languages.html=a.languages.markup,a.languages.mathml=a.languages.markup,a.languages.svg=a.languages.markup,a.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(?:;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^{}\s][^{};]*?(?=\s*\{)/,string:{pattern:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/\B!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:]/},a.languages.css.atrule.inside.rest=a.util.clone(a.languages.css),a.languages.markup&&(a.languages.insertBefore("markup","tag",{style:{pattern:/()[\s\S]*?(?=<\/style>)/i,lookbehind:!0,inside:a.languages.css,alias:"language-css",greedy:!0}}),a.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:a.languages.markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:a.languages.css}},alias:"language-css"}},a.languages.markup.tag)),a.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/[a-z0-9_]+(?=\()/i,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},a.languages.javascript=a.languages.extend("clike",{keyword:/\b(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,number:/\b-?(?:0[xX][\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+|\d*\.?\d+(?:[Ee][+-]?\d+)?|NaN|Infinity)\b/,function:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*\()/i,operator:/-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/}),a.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[[^\]\r\n]+]|\\.|[^/\\\[\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=\s*(?:function\b|(?:\([^()]*\)|[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/i,alias:"function"}}),a.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,greedy:!0,inside:{interpolation:{pattern:/\$\{[^}]+\}/,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:a.languages.javascript}},string:/[\s\S]+/}}}),a.languages.markup&&a.languages.insertBefore("markup","tag",{script:{pattern:/()[\s\S]*?(?=<\/script>)/i,lookbehind:!0,inside:a.languages.javascript,alias:"language-javascript",greedy:!0}}),a.languages.js=a.languages.javascript,"undefined"!=typeof self&&self.Prism&&self.document&&document.querySelector&&(self.Prism.fileHighlight=function(){var e={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"};Array.prototype.slice.call(document.querySelectorAll("pre[data-src]")).forEach(function(t){for(var n,r=t.getAttribute("data-src"),i=t,s=/\blang(?:uage)?-(?!\*)(\w+)\b/i;i&&!s.test(i.className);)i=i.parentNode;if(i&&(n=(t.className.match(s)||[,""])[1]),!n){var l=(r.match(/\.(\w+)$/)||[,""])[1];n=e[l]||l}var o=document.createElement("code");o.className="language-"+n,t.textContent="",o.textContent="Loading…",t.appendChild(o);var u=new XMLHttpRequest;u.open("GET",r,!0),u.onreadystatechange=function(){4==u.readyState&&(u.status<400&&u.responseText?(o.textContent=u.responseText,a.highlightElement(o)):u.status>=400?o.textContent="✖ Error "+u.status+" while fetching file: "+u.statusText:o.textContent="✖ Error: File does not exist or is empty")},u.send(null)})},document.addEventListener("DOMContentLoaded",self.Prism.fileHighlight)); -},{}],20:[function(require,module,exports) { +},{}],21:[function(require,module,exports) { var global = (1,eval)("this"); var e=(0,eval)("this");!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.feather=n():e.feather=n()}("undefined"!=typeof self?self:this,function(){return function(e){var n={};function i(t){if(n[t])return n[t].exports;var l=n[t]={i:t,l:!1,exports:{}};return e[t].call(l.exports,l,l.exports,i),l.l=!0,l.exports}return i.m=e,i.c=n,i.d=function(e,n,t){i.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:t})},i.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(n,"a",n),n},i.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},i.p="",i(i.s=49)}([function(e,n,i){var t=i(36)("wks"),l=i(15),r=i(1).Symbol,o="function"==typeof r;(e.exports=function(e){return t[e]||(t[e]=o&&r[e]||(o?r:l)("Symbol."+e))}).store=t},function(e,n){var i=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(e,n){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,n,i){var t=i(1),l=i(7),r=i(8),o=i(10),a=i(11),c=function(e,n,i){var y,p,h,x,s=e&c.F,u=e&c.G,f=e&c.S,d=e&c.P,v=e&c.B,g=u?t:f?t[n]||(t[n]={}):(t[n]||{}).prototype,m=u?l:l[n]||(l[n]={}),M=m.prototype||(m.prototype={});for(y in u&&(i=n),i)h=((p=!s&&g&&void 0!==g[y])?g:i)[y],x=v&&p?a(h,t):d&&"function"==typeof h?a(Function.call,h):h,g&&o(g,y,h,e&c.U),m[y]!=h&&r(m,y,x),d&&M[y]!=h&&(M[y]=h)};t.core=l,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,e.exports=c},function(e,n,i){var t=i(9),l=i(29),r=i(31),o=Object.defineProperty;n.f=i(5)?Object.defineProperty:function(e,n,i){if(t(e),n=r(n,!0),t(i),l)try{return o(e,n,i)}catch(e){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(e[n]=i.value),e}},function(e,n,i){e.exports=!i(12)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,n){var i={}.hasOwnProperty;e.exports=function(e,n){return i.call(e,n)}},function(e,n){var i=e.exports={version:"2.5.3"};"number"==typeof __e&&(__e=i)},function(e,n,i){var t=i(4),l=i(14);e.exports=i(5)?function(e,n,i){return t.f(e,n,l(1,i))}:function(e,n,i){return e[n]=i,e}},function(e,n,i){var t=i(2);e.exports=function(e){if(!t(e))throw TypeError(e+" is not an object!");return e}},function(e,n,i){var t=i(1),l=i(8),r=i(6),o=i(15)("src"),a=Function.toString,c=(""+a).split("toString");i(7).inspectSource=function(e){return a.call(e)},(e.exports=function(e,n,i,a){var y="function"==typeof i;y&&(r(i,"name")||l(i,"name",n)),e[n]!==i&&(y&&(r(i,o)||l(i,o,e[n]?""+e[n]:c.join(String(n)))),e===t?e[n]=i:a?e[n]?e[n]=i:l(e,n,i):(delete e[n],l(e,n,i)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[o]||a.call(this)})},function(e,n,i){var t=i(32);e.exports=function(e,n,i){if(t(e),void 0===n)return e;switch(i){case 1:return function(i){return e.call(n,i)};case 2:return function(i,t){return e.call(n,i,t)};case 3:return function(i,t,l){return e.call(n,i,t,l)}}return function(){return e.apply(n,arguments)}}},function(e,n){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,n){e.exports={}},function(e,n){e.exports=function(e,n){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:n}}},function(e,n){var i=0,t=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++i+t).toString(36))}},function(e,n,i){var t=i(34),l=i(19);e.exports=function(e){return t(l(e))}},function(e,n,i){var t=i(11),l=i(38),r=i(39),o=i(9),a=i(22),c=i(40),y={},p={};(n=e.exports=function(e,n,i,h,x){var s,u,f,d,v=x?function(){return e}:c(e),g=t(i,h,n?2:1),m=0;if("function"!=typeof v)throw TypeError(e+" is not iterable!");if(r(v)){for(s=a(e.length);s>m;m++)if((d=n?g(o(u=e[m])[0],u[1]):g(e[m]))===y||d===p)return d}else for(f=v.call(e);!(u=f.next()).done;)if((d=l(f,g,u.value,n))===y||d===p)return d}).BREAK=y,n.RETURN=p},function(e,n){var i=Math.ceil,t=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?t:i)(e)}},function(e,n){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,n,i){"use strict";var t=i(52),l=i(3),r=i(10),o=i(8),a=i(6),c=i(13),y=i(53),p=i(24),h=i(59),x=i(0)("iterator"),s=!([].keys&&"next"in[].keys()),u=function(){return this};e.exports=function(e,n,i,f,d,v,g){y(i,n,f);var m,M,w,b=function(e){if(!s&&e in k)return k[e];switch(e){case"keys":case"values":return function(){return new i(this,e)}}return function(){return new i(this,e)}},A=n+" Iterator",_="values"==d,z=!1,k=e.prototype,S=k[x]||k["@@iterator"]||d&&k[d],H=!s&&S||b(d),V=d?_?b("entries"):H:void 0,O="Array"==n&&k.entries||S;if(O&&(w=h(O.call(new e)))!==Object.prototype&&w.next&&(p(w,A,!0),t||a(w,x)||o(w,x,u)),_&&S&&"values"!==S.name&&(z=!0,H=function(){return S.call(this)}),t&&!g||!s&&!z&&k[x]||o(k,x,H),c[n]=H,c[A]=u,d)if(m={values:_?H:b("values"),keys:v?H:b("keys"),entries:V},g)for(M in m)M in k||r(k,M,m[M]);else l(l.P+l.F*(s||z),n,m);return m}},function(e,n,i){var t=i(55),l=i(37);e.exports=Object.keys||function(e){return t(e,l)}},function(e,n,i){var t=i(18),l=Math.min;e.exports=function(e){return e>0?l(t(e),9007199254740991):0}},function(e,n,i){var t=i(36)("keys"),l=i(15);e.exports=function(e){return t[e]||(t[e]=l(e))}},function(e,n,i){var t=i(4).f,l=i(6),r=i(0)("toStringTag");e.exports=function(e,n,i){e&&!l(e=i?e:e.prototype,r)&&t(e,r,{configurable:!0,value:n})}},function(e,n,i){var t=i(19);e.exports=function(e){return Object(t(e))}},function(e,n,i){var t=i(35),l=i(0)("toStringTag"),r="Arguments"==t(function(){return arguments}());e.exports=function(e){var n,i,o;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(i=function(e,n){try{return e[n]}catch(e){}}(n=Object(e),l))?i:r?t(n):"Object"==(o=t(n))&&"function"==typeof n.callee?"Arguments":o}},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=o(i(86)),l=o(i(88)),r=o(i(89));function o(e){return e&&e.__esModule?e:{default:e}}n.default=Object.keys(l.default).map(function(e){return new t.default(e,l.default[e],r.default[e])}).reduce(function(e,n){return e[n.name]=n,e},{})},function(e,n,i){"use strict";var t=i(51)(!0);i(20)(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,n=this._t,i=this._i;return i>=n.length?{value:void 0,done:!0}:(e=t(n,i),this._i+=e.length,{value:e,done:!1})})},function(e,n,i){e.exports=!i(5)&&!i(12)(function(){return 7!=Object.defineProperty(i(30)("div"),"a",{get:function(){return 7}}).a})},function(e,n,i){var t=i(2),l=i(1).document,r=t(l)&&t(l.createElement);e.exports=function(e){return r?l.createElement(e):{}}},function(e,n,i){var t=i(2);e.exports=function(e,n){if(!t(e))return e;var i,l;if(n&&"function"==typeof(i=e.toString)&&!t(l=i.call(e)))return l;if("function"==typeof(i=e.valueOf)&&!t(l=i.call(e)))return l;if(!n&&"function"==typeof(i=e.toString)&&!t(l=i.call(e)))return l;throw TypeError("Can't convert object to primitive value")}},function(e,n){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,n,i){var t=i(9),l=i(54),r=i(37),o=i(23)("IE_PROTO"),a=function(){},c=function(){var e,n=i(30)("iframe"),t=r.length;for(n.style.display="none",i(58).appendChild(n),n.src="javascript:",(e=n.contentWindow.document).open(),e.write(" + + + +