From dfb6e1f80754c1c8f2d4d332c5292319f008a67b Mon Sep 17 00:00:00 2001 From: amzrk2 Date: Wed, 27 May 2020 22:53:13 +0800 Subject: v2 original port --- assets/_custom.scss | 1 + assets/_fuji-style/_components.scss | 37 ++ assets/_fuji-style/_content.scss | 157 ++++++++ assets/_fuji-style/_footer.scss | 6 + assets/_fuji-style/_header.scss | 25 ++ assets/_fuji-style/_sidebar.scss | 69 ++++ assets/_fuji-theme/_dark.scss | 234 ++++++++++++ assets/_fuji-theme/_light.scss | 198 ++++++++++ assets/_global.scss | 21 + assets/_primer/base/base.scss | 86 +++++ assets/_primer/base/index.scss | 6 + assets/_primer/base/kbd.scss | 21 + assets/_primer/base/normalize.scss | 421 +++++++++++++++++++++ assets/_primer/base/typography-base.scss | 88 +++++ assets/_primer/layout/container.scss | 30 ++ assets/_primer/layout/grid.scss | 64 ++++ assets/_primer/markdown/blob-csv.scss | 29 ++ assets/_primer/markdown/code.scss | 69 ++++ assets/_primer/markdown/headings.scss | 72 ++++ assets/_primer/markdown/images.scss | 131 +++++++ assets/_primer/markdown/index.scss | 8 + assets/_primer/markdown/lists.scss | 77 ++++ assets/_primer/markdown/markdown-body.scss | 99 +++++ assets/_primer/markdown/tables.scss | 36 ++ assets/_primer/support/index.scss | 11 + assets/_primer/support/mixins/buttons.scss | 167 ++++++++ assets/_primer/support/mixins/layout.scss | 58 +++ assets/_primer/support/mixins/misc.scss | 29 ++ assets/_primer/support/mixins/typography.scss | 84 ++++ assets/_primer/support/variables/color-system.scss | 243 ++++++++++++ assets/_primer/support/variables/colors.scss | 63 +++ assets/_primer/support/variables/layout.scss | 129 +++++++ assets/_primer/support/variables/misc.scss | 26 ++ assets/_primer/support/variables/typography.scss | 42 ++ assets/_primer/utilities/layout.scss | 87 +++++ assets/_var.scss | 36 ++ assets/css/APlayer.min.css | 3 - assets/css/fontawsome.min.css | 5 - assets/fuji.scss | 24 ++ assets/js/APlayer.min.js | 2 - assets/js/jquery.min.js | 2 - assets/js/lazysizes.min.js | 2 - assets/js/medium-zoom.min.js | 2 - assets/sass/@primer/css/base/README.md | 25 -- assets/sass/@primer/css/base/base.scss | 86 ----- assets/sass/@primer/css/base/index.scss | 6 - assets/sass/@primer/css/base/kbd.scss | 21 - assets/sass/@primer/css/base/normalize.scss | 421 --------------------- assets/sass/@primer/css/base/typography-base.scss | 88 ----- assets/sass/@primer/css/layout/README.md | 25 -- assets/sass/@primer/css/layout/container.scss | 30 -- assets/sass/@primer/css/layout/grid-offset.scss | 19 - assets/sass/@primer/css/layout/grid.scss | 64 ---- assets/sass/@primer/css/layout/index.scss | 4 - assets/sass/@primer/css/markdown/README.md | 25 -- assets/sass/@primer/css/markdown/blob-csv.scss | 29 -- assets/sass/@primer/css/markdown/code.scss | 69 ---- assets/sass/@primer/css/markdown/headings.scss | 72 ---- assets/sass/@primer/css/markdown/images.scss | 131 ------- assets/sass/@primer/css/markdown/index.scss | 8 - assets/sass/@primer/css/markdown/lists.scss | 77 ---- .../sass/@primer/css/markdown/markdown-body.scss | 99 ----- assets/sass/@primer/css/markdown/tables.scss | 36 -- assets/sass/@primer/css/support/README.md | 25 -- assets/sass/@primer/css/support/index.scss | 11 - .../sass/@primer/css/support/mixins/buttons.scss | 167 -------- assets/sass/@primer/css/support/mixins/layout.scss | 58 --- assets/sass/@primer/css/support/mixins/misc.scss | 29 -- .../@primer/css/support/mixins/typography.scss | 84 ---- .../css/support/variables/color-system.scss | 243 ------------ .../sass/@primer/css/support/variables/colors.scss | 63 --- .../sass/@primer/css/support/variables/layout.scss | 129 ------- .../sass/@primer/css/support/variables/misc.scss | 26 -- .../@primer/css/support/variables/typography.scss | 42 -- assets/sass/@primer/css/utilities/README.md | 25 -- assets/sass/@primer/css/utilities/animations.scss | 183 --------- assets/sass/@primer/css/utilities/borders.scss | 116 ------ assets/sass/@primer/css/utilities/box-shadow.scss | 25 -- assets/sass/@primer/css/utilities/colors.scss | 115 ------ assets/sass/@primer/css/utilities/details.scss | 28 -- assets/sass/@primer/css/utilities/flexbox.scss | 51 --- assets/sass/@primer/css/utilities/index.scss | 14 - assets/sass/@primer/css/utilities/layout.scss | 87 ----- assets/sass/@primer/css/utilities/margin.scss | 50 --- assets/sass/@primer/css/utilities/padding.scss | 49 --- assets/sass/@primer/css/utilities/typography.scss | 255 ------------- .../@primer/css/utilities/visibility-display.scss | 74 ---- assets/sass/_class.scss | 88 ----- assets/sass/_primer.scss | 13 - assets/sass/_var.scss | 36 -- assets/sass/custom.scss | 1 - assets/sass/main.scss | 24 -- assets/sass/modules/_archive.scss | 39 -- assets/sass/modules/_component.scss | 28 -- assets/sass/modules/_content.scss | 95 ----- assets/sass/modules/_footer.scss | 8 - assets/sass/modules/_header.scss | 18 - assets/sass/modules/_pagination.scss | 28 -- assets/sass/modules/_sidebar.scss | 42 -- 99 files changed, 2984 insertions(+), 3720 deletions(-) create mode 100644 assets/_custom.scss create mode 100644 assets/_fuji-style/_components.scss create mode 100644 assets/_fuji-style/_content.scss create mode 100644 assets/_fuji-style/_footer.scss create mode 100644 assets/_fuji-style/_header.scss create mode 100644 assets/_fuji-style/_sidebar.scss create mode 100644 assets/_fuji-theme/_dark.scss create mode 100644 assets/_fuji-theme/_light.scss create mode 100644 assets/_global.scss create mode 100644 assets/_primer/base/base.scss create mode 100644 assets/_primer/base/index.scss create mode 100644 assets/_primer/base/kbd.scss create mode 100644 assets/_primer/base/normalize.scss create mode 100644 assets/_primer/base/typography-base.scss create mode 100644 assets/_primer/layout/container.scss create mode 100644 assets/_primer/layout/grid.scss create mode 100644 assets/_primer/markdown/blob-csv.scss create mode 100644 assets/_primer/markdown/code.scss create mode 100644 assets/_primer/markdown/headings.scss create mode 100644 assets/_primer/markdown/images.scss create mode 100644 assets/_primer/markdown/index.scss create mode 100644 assets/_primer/markdown/lists.scss create mode 100644 assets/_primer/markdown/markdown-body.scss create mode 100644 assets/_primer/markdown/tables.scss create mode 100644 assets/_primer/support/index.scss create mode 100644 assets/_primer/support/mixins/buttons.scss create mode 100644 assets/_primer/support/mixins/layout.scss create mode 100644 assets/_primer/support/mixins/misc.scss create mode 100644 assets/_primer/support/mixins/typography.scss create mode 100644 assets/_primer/support/variables/color-system.scss create mode 100644 assets/_primer/support/variables/colors.scss create mode 100644 assets/_primer/support/variables/layout.scss create mode 100644 assets/_primer/support/variables/misc.scss create mode 100644 assets/_primer/support/variables/typography.scss create mode 100644 assets/_primer/utilities/layout.scss create mode 100644 assets/_var.scss delete mode 100644 assets/css/APlayer.min.css delete mode 100644 assets/css/fontawsome.min.css create mode 100644 assets/fuji.scss delete mode 100644 assets/js/APlayer.min.js delete mode 100644 assets/js/jquery.min.js delete mode 100644 assets/js/lazysizes.min.js delete mode 100644 assets/js/medium-zoom.min.js delete mode 100644 assets/sass/@primer/css/base/README.md delete mode 100644 assets/sass/@primer/css/base/base.scss delete mode 100644 assets/sass/@primer/css/base/index.scss delete mode 100644 assets/sass/@primer/css/base/kbd.scss delete mode 100644 assets/sass/@primer/css/base/normalize.scss delete mode 100644 assets/sass/@primer/css/base/typography-base.scss delete mode 100644 assets/sass/@primer/css/layout/README.md delete mode 100644 assets/sass/@primer/css/layout/container.scss delete mode 100644 assets/sass/@primer/css/layout/grid-offset.scss delete mode 100644 assets/sass/@primer/css/layout/grid.scss delete mode 100644 assets/sass/@primer/css/layout/index.scss delete mode 100644 assets/sass/@primer/css/markdown/README.md delete mode 100644 assets/sass/@primer/css/markdown/blob-csv.scss delete mode 100644 assets/sass/@primer/css/markdown/code.scss delete mode 100644 assets/sass/@primer/css/markdown/headings.scss delete mode 100644 assets/sass/@primer/css/markdown/images.scss delete mode 100644 assets/sass/@primer/css/markdown/index.scss delete mode 100644 assets/sass/@primer/css/markdown/lists.scss delete mode 100644 assets/sass/@primer/css/markdown/markdown-body.scss delete mode 100644 assets/sass/@primer/css/markdown/tables.scss delete mode 100644 assets/sass/@primer/css/support/README.md delete mode 100644 assets/sass/@primer/css/support/index.scss delete mode 100644 assets/sass/@primer/css/support/mixins/buttons.scss delete mode 100644 assets/sass/@primer/css/support/mixins/layout.scss delete mode 100644 assets/sass/@primer/css/support/mixins/misc.scss delete mode 100644 assets/sass/@primer/css/support/mixins/typography.scss delete mode 100644 assets/sass/@primer/css/support/variables/color-system.scss delete mode 100644 assets/sass/@primer/css/support/variables/colors.scss delete mode 100644 assets/sass/@primer/css/support/variables/layout.scss delete mode 100644 assets/sass/@primer/css/support/variables/misc.scss delete mode 100644 assets/sass/@primer/css/support/variables/typography.scss delete mode 100644 assets/sass/@primer/css/utilities/README.md delete mode 100644 assets/sass/@primer/css/utilities/animations.scss delete mode 100644 assets/sass/@primer/css/utilities/borders.scss delete mode 100644 assets/sass/@primer/css/utilities/box-shadow.scss delete mode 100644 assets/sass/@primer/css/utilities/colors.scss delete mode 100644 assets/sass/@primer/css/utilities/details.scss delete mode 100644 assets/sass/@primer/css/utilities/flexbox.scss delete mode 100644 assets/sass/@primer/css/utilities/index.scss delete mode 100644 assets/sass/@primer/css/utilities/layout.scss delete mode 100644 assets/sass/@primer/css/utilities/margin.scss delete mode 100644 assets/sass/@primer/css/utilities/padding.scss delete mode 100644 assets/sass/@primer/css/utilities/typography.scss delete mode 100644 assets/sass/@primer/css/utilities/visibility-display.scss delete mode 100644 assets/sass/_class.scss delete mode 100644 assets/sass/_primer.scss delete mode 100644 assets/sass/_var.scss delete mode 100644 assets/sass/custom.scss delete mode 100644 assets/sass/main.scss delete mode 100644 assets/sass/modules/_archive.scss delete mode 100644 assets/sass/modules/_component.scss delete mode 100644 assets/sass/modules/_content.scss delete mode 100644 assets/sass/modules/_footer.scss delete mode 100644 assets/sass/modules/_header.scss delete mode 100644 assets/sass/modules/_pagination.scss delete mode 100644 assets/sass/modules/_sidebar.scss (limited to 'assets') diff --git a/assets/_custom.scss b/assets/_custom.scss new file mode 100644 index 0000000..ca09079 --- /dev/null +++ b/assets/_custom.scss @@ -0,0 +1 @@ +// wtb covered diff --git a/assets/_fuji-style/_components.scss b/assets/_fuji-style/_components.scss new file mode 100644 index 0000000..724e4cf --- /dev/null +++ b/assets/_fuji-style/_components.scss @@ -0,0 +1,37 @@ +.btn { + position: fixed; + right: 1.5rem; + bottom: 1.5rem; + width: 2.5rem; + height: 5rem; + display: flex; + justify-content: space-between; + flex-direction: column; + + div { + flex: 0 1 auto; + width: 2.5rem; + height: 2.5rem; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + + &:first-child { + border-radius: 0.25rem 0.25rem 0 0; + } + + &:last-child { + border-radius: 0 0 0.25rem 0.25rem; + } + } + + i { + font-size: 1.25rem; + } +} + +#post-aplayer { + margin: 0 0.125rem 1.25rem 0.125rem; + font-family: inherit; +} diff --git a/assets/_fuji-style/_content.scss b/assets/_fuji-style/_content.scss new file mode 100644 index 0000000..7489ec9 --- /dev/null +++ b/assets/_fuji-style/_content.scss @@ -0,0 +1,157 @@ +.content { + padding: 1.5rem 1.5rem 0 1.5rem; // same as sidebar +} + +.post { + // paddings between posts + &:not(:first-child) { + padding: 1.5rem 0; + } + + &:first-child { + padding: 0 0 1.5rem 0; + } +} + +.post-title { + font-size: $font-size-1; +} + +.post-meta { + margin: 0.5rem 0.25rem 1rem 0.25rem; // little space + white-space: nowrap; + overflow-x: scroll; + + time, + span:not(:last-child) { + padding-right: 1.5rem; + } + + &::-webkit-scrollbar { + display: none; // WebKit + } + + scrollbar-width: none; // Firefox + -ms-overflow-style: none; // Microsoft +} + +.post-summary { + margin: 0 0.1rem; // little space + + p:last-child { + margin-bottom: 0; // remove margin-bottom of last para in summary + } + + h1, + h2, + h3, + h4, + h5, + h6 { + display: none; // hide h1-h6 in post summary + } +} + +.post-meta-archive { + margin: 0.5rem 0.25rem 0 0.25rem; // little space + white-space: nowrap; + overflow-x: scroll; + + time, + span:not(:last-child) { + padding-right: 1.5rem; + } + + &::-webkit-scrollbar { + display: none; // WebKit + } + + scrollbar-width: none; // Firefox + -ms-overflow-style: none; // Microsoft +} + +.pagination { + text-align: center; + padding: 1rem 0; + font-size: 1.25rem; + + & > div { + display: inline-block; + width: 2rem; + height: 2rem; + + &.pag-item { + padding: 0 0.25rem; + + a { + vertical-align: middle; + } + } + } + + i { + padding: 0 0.25rem; + vertical-align: middle; + } +} + +.page-info { + padding: 0 0.1rem 1.5rem 0.1rem; +} + +// single page part +article { + padding-bottom: 1.5rem; + + .post-content { + margin: 1.25rem 0.1rem 0 0.1rem; + } +} + +.license { + margin-bottom: 1.5rem; +} + +.post-loading { + margin: 0 0 1.5rem 0; + padding-top: 1.5rem; + text-align: center; + + i { + font-size: 1.25rem; + } + + p { + margin: 0.5rem 0 0 0; + } +} + +.markdown-body { + h1 { + font-size: $font-size-1; + margin-top: 1.5rem; + } + + h2 { + font-size: $font-size-2; + margin-top: 1.375rem; + } + + h3 { + font-size: $font-size-3; + margin-top: 1.25rem; + } + + h4 { + margin-top: 1.25rem; + } + + ul { + list-style-type: circle; + } + + img { + max-width: 98%; + margin: 0 0.25rem 0.5rem 0.25rem; + } +} diff --git a/assets/_fuji-style/_footer.scss b/assets/_fuji-style/_footer.scss new file mode 100644 index 0000000..ac4ed47 --- /dev/null +++ b/assets/_fuji-style/_footer.scss @@ -0,0 +1,6 @@ +footer { + .footer { + padding: 2rem 1.5rem; + text-align: center; + } +} diff --git a/assets/_fuji-style/_header.scss b/assets/_fuji-style/_header.scss new file mode 100644 index 0000000..29afe07 --- /dev/null +++ b/assets/_fuji-style/_header.scss @@ -0,0 +1,25 @@ +header { + .header { + padding: 1.75rem 1.5rem 2rem 1.5rem; + } + + .title-main { + font-size: 2.5rem; + font-family: 'Product Sans', -apple-system, BlinkMacSystemFont, monospace; + font-weight: 700; + white-space: nowrap; + } + + .title-sub { + margin: 0 0.1rem; + display: block; + white-space: nowrap; + + &::-webkit-scrollbar { + display: none; // WebKit + } + + scrollbar-width: none; // Firefox + -ms-overflow-style: none; // Microsoft + } +} diff --git a/assets/_fuji-style/_sidebar.scss b/assets/_fuji-style/_sidebar.scss new file mode 100644 index 0000000..132a22f --- /dev/null +++ b/assets/_fuji-style/_sidebar.scss @@ -0,0 +1,69 @@ +.sidebar { + padding: 1.5rem 1.5rem 1.5rem 0; // no left padding on big screen +} + +.sidebar-item { + &:not(:last-child) { + margin-bottom: 1rem; // space betreen sidebar items + } + + h3 { + margin-bottom: 0.25rem; // space betreen head3 & lists + } + + ul { + list-style-type: none; + margin: 0 0.1rem; // little space + } + + & > div, + & > nav { + margin: 0 0.1rem; // little space + } + + & > img { + margin: 0.5rem 0.25rem 0 0.25rem; + width: 100%; + border-radius: 2px; + } +} + +@media screen and (max-width: $width-md) { + .sidebar { + padding: 1.5rem; + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-around; + } + + .sidebar-item { + width: 40%; // max 2 modules per line + + // space only at first 2 modules + .sidebar-pages, + .sidebar-tags { + margin-bottom: 1rem; + } + + .sidebar-links, + .sidebar-bgm { + margin-bottom: 0; + } + + & > img { + margin: 0.5rem 0.25rem 0 0.25rem; + width: 75%; + border-radius: 0.25rem; + } + } +} + +// single page part +.sidebar-toc { + ul ul { + font-size: 0.875rem; + padding-left: 0.5rem; + margin-bottom: 0.25rem; + } +} diff --git a/assets/_fuji-theme/_dark.scss b/assets/_fuji-theme/_dark.scss new file mode 100644 index 0000000..122f3f1 --- /dev/null +++ b/assets/_fuji-theme/_dark.scss @@ -0,0 +1,234 @@ +$color-primary-dark: #8aa2d3; // https://irocore.com/aofuji/ +$color-primary-dark-dark: #e6e6e6; // https://irocore.com/shironezumi/ +$color-secondary-dark: #bab1df; // https://irocore.com/fujimurasaki/ +$color-mute-dark: #9ea1a3; // https://irocore.com/suzu-iro/ +$color-font-dark: #c0c0c0; // https://irocore.com/gin-iro/ +$color-divider-dark: #4d5158; // discord +$color-bg-dark: #2f3136; // discord + +$divider-dark: 2px solid $color-divider-dark; + +@mixin link-1 { + a { + color: $color-primary-dark; + } + + a:hover { + color: $color-secondary-dark; + } +} + +@mixin link-2 { + a { + color: $color-secondary-dark; + } + + a:hover { + color: $color-primary-dark-dark; + } +} + +body[data-theme='dark'] { + background-color: $color-bg-dark; + color: $color-font-dark; + + @include link-1(); + + .post-summary, + .post-meta { + @include link-2(); + } + + .pag-current a, + .pag-current a:hover { + color: $color-primary-dark-dark; + } + + .title-sub, + .post-meta { + color: $color-mute-dark; + } + + header, + .page-info { + border-bottom: $divider-dark; + } + + .post + .post, + .pagination, + footer { + border-top: $divider-dark; + } + + .post-meta-archive { + @include link-2(); + + color: $color-mute-dark; + } + + @media screen and (max-width: $width-md) { + .sidebar { + border-top: $divider-dark; + } + } + + // single page part + .post-content { + @include link-2(); + } + + .markdown-body { + h1, + h2, + h3, + h4, + h5, + h6 { + color: $color-primary-dark; + } + + h1, + h2 { + border-bottom: $divider-dark; + } + + blockquote { + color: $color-mute; + } + + img { + border-radius: 2px; + background-color: inherit; // fix white pixels under border-radius + } + + hr { + height: 2px; + } + + pre, + code { + background-color: $color-divider-dark; + } + } + + .post-loading, + .post-comment .utterances-frame, + .post-comment #disqus_thread { + border-top: $divider-dark; + } + + // components + .btn { + div { + background-color: $color-divider-dark; + color: $color-primary-dark; + } + + div:hover { + background-color: $color-primary-dark; + color: $color-divider-dark; + } + + div + div { + border-top: 2px solid $color-bg-dark; + } + } + + // highlight.js theme [solarized-dark] + .hljs { + display: block; + overflow-x: auto; + } + .hljs-comment, + .hljs-quote { + color: #85aab6; + } + .hljs-addition, + .hljs-keyword, + .hljs-selector-tag { + color: #bad601; + } + .hljs-doctag, + .hljs-literal, + .hljs-meta .hljs-meta-string, + .hljs-number, + .hljs-regexp, + .hljs-string { + color: #38cfc3; + } + .hljs-name, + .hljs-section, + .hljs-selector-class, + .hljs-selector-id, + .hljs-title { + color: #479fdf; + } + .hljs-attr, + .hljs-attribute, + .hljs-class .hljs-title, + .hljs-template-variable, + .hljs-type, + .hljs-variable { + color: #c9ac56; + } + .hljs-bullet, + .hljs-link, + .hljs-meta, + .hljs-meta .hljs-keyword, + .hljs-selector-attr, + .hljs-selector-pseudo, + .hljs-subst, + .hljs-symbol { + color: #db835d; + } + .hljs-built_in, + .hljs-deletion { + color: #e27876; + } + .hljs-formula { + background: #24849c; + } + .hljs-emphasis { + font-style: italic; + } + .hljs-strong { + font-weight: 600; + } + + // diff from light + img { + filter: brightness(60%); + } + + table { + th, + td { + border-color: $color-font-dark; + } + + tr { + background-color: $color-bg-dark; + border-color: $color-font-dark; + + &:nth-child(2n) { + background-color: $color-divider-dark; + } + } + } + + #post-aplayer { + background-color: $color-divider-dark; + } + + .aplayer .aplayer-info .aplayer-music .aplayer-author { + color: $color-font-dark !important; + } + + .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path { + fill: $color-font-dark !important; + } + + .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path { + fill: $color-primary-dark-dark !important; + } +} diff --git a/assets/_fuji-theme/_light.scss b/assets/_fuji-theme/_light.scss new file mode 100644 index 0000000..58687ac --- /dev/null +++ b/assets/_fuji-theme/_light.scss @@ -0,0 +1,198 @@ +$color-primary: #8aa2d3; // https://irocore.com/aofuji/ +$color-primary-dark: #3b469b; // https://irocore.com/aomurasaki/ +$color-secondary: #8f82bc; // https://irocore.com/fujimurasaki/ +$color-mute: #9ea1a3; // https://irocore.com/suzu-iro/ +$color-font: #3f4551; // https://irocore.com/konnezu/ +$color-divider: #e5e2e4; // https://irocore.com/komachinezu/ +$color-bg: #fffffd; // https://irocore.com/shiro/ + +$divider: 2px solid $color-divider; + +@mixin link-1 { + a { + color: $color-primary; + } + + a:hover { + color: $color-secondary; + } +} + +@mixin link-2 { + a { + color: $color-secondary; + } + + a:hover { + color: $color-primary-dark; + } +} + +body[data-theme='light'] { + background-color: $color-bg; + color: $color-font; + + @include link-1(); + + .post-summary, + .post-meta { + @include link-2(); + } + + .pag-current a, + .pag-current a:hover { + color: $color-primary-dark; + } + + .title-sub, + .post-meta { + color: $color-mute; + } + + header, + .page-info { + border-bottom: $divider; + } + + .post + .post, + .pagination, + footer { + border-top: $divider; + } + + .post-meta-archive { + @include link-2(); + + color: $color-mute; + } + + @media screen and (max-width: $width-md) { + .sidebar { + border-top: $divider; + } + } + + // single page part + .post-content { + @include link-2(); + } + + .markdown-body { + h1, + h2, + h3, + h4, + h5, + h6 { + color: $color-primary; + } + + h1, + h2 { + border-bottom: $divider; + } + + blockquote { + color: $color-mute; + } + + img { + border-radius: 2px; + background-color: inherit; // fix white pixels under border-radius + } + + hr { + height: 2px; + } + + pre, + code { + background-color: #f2f2f2; + } + } + + .post-loading, + .post-comment .utterances-frame, + .post-comment #disqus_thread { + border-top: $divider; + } + + // components + .btn { + div { + background-color: $color-divider; + + color: $color-primary; + } + + div:hover { + background-color: $color-primary; + color: $color-divider; + } + + div + div { + border-top: 2px solid $color-bg; + } + } + + // highlight.js theme [solarized-light] + .hljs { + display: block; + overflow-x: auto; + } + .hljs-comment, + .hljs-quote { + color: #93a1a1; + } + .hljs-addition, + .hljs-keyword, + .hljs-selector-tag { + color: #859900; + } + .hljs-doctag, + .hljs-literal, + .hljs-meta .hljs-meta-string, + .hljs-number, + .hljs-regexp, + .hljs-string { + color: #2aa198; + } + .hljs-name, + .hljs-section, + .hljs-selector-class, + .hljs-selector-id, + .hljs-title { + color: #268bd2; + } + .hljs-attr, + .hljs-attribute, + .hljs-class .hljs-title, + .hljs-template-variable, + .hljs-type, + .hljs-variable { + color: #b58900; + } + .hljs-bullet, + .hljs-link, + .hljs-meta, + .hljs-meta .hljs-keyword, + .hljs-selector-attr, + .hljs-selector-pseudo, + .hljs-subst, + .hljs-symbol { + color: #ca5624; + } + .hljs-built_in, + .hljs-deletion { + color: #da4a47; + } + .hljs-formula { + background: #eee8d5; + } + .hljs-emphasis { + font-style: italic; + } + .hljs-strong { + font-weight: 600; + } +} diff --git a/assets/_global.scss b/assets/_global.scss new file mode 100644 index 0000000..fb2c3f9 --- /dev/null +++ b/assets/_global.scss @@ -0,0 +1,21 @@ +* { + box-sizing: border-box; +} + +// sticky footer +html { + height: 100%; +} +body { + display: flex; + flex-direction: column; + height: 100%; +} +main { + flex: 1 1 auto; +} + +// remove text decoration +a:hover { + text-decoration: none !important; +} diff --git a/assets/_primer/base/base.scss b/assets/_primer/base/base.scss new file mode 100644 index 0000000..381fa89 --- /dev/null +++ b/assets/_primer/base/base.scss @@ -0,0 +1,86 @@ +// stylelint-disable selector-max-type +* { + box-sizing: border-box; +} + +input, +select, +textarea, +button { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +body { + font-family: $body-font; + font-size: $body-font-size; + line-height: $body-line-height; + color: $text-gray-dark; + background-color: $bg-white; +} + +a { + color: $text-blue; + text-decoration: none; + + &:hover { + text-decoration: underline; + } +} + +b, +strong { + font-weight: $font-weight-bold; +} + +// Horizontal lines +// +// TODO-MDO: Remove `.rule` from everywhere and replace with `
s)
+ > code {
+ padding: 0;
+ margin: 0;
+ // stylelint-disable-next-line primer/typography
+ font-size: 100%;
+ word-break: normal;
+ white-space: pre;
+ background: transparent;
+ border: 0;
+ }
+ }
+
+ .highlight {
+ margin-bottom: $spacer-3;
+
+ pre {
+ margin-bottom: 0;
+ word-break: normal;
+ }
+ }
+
+ .highlight pre,
+ pre {
+ padding: $spacer-3;
+ overflow: auto;
+ // stylelint-disable-next-line primer/typography
+ font-size: 85%;
+ // stylelint-disable-next-line primer/typography
+ line-height: 1.45;
+ background-color: $bg-gray;
+ border-radius: $border-radius;
+ }
+
+ pre code,
+ pre tt {
+ display: inline;
+ max-width: auto;
+ padding: 0;
+ margin: 0;
+ overflow: visible;
+ line-height: inherit;
+ word-wrap: normal;
+ background-color: transparent;
+ border: 0;
+ }
+}
diff --git a/assets/_primer/markdown/headings.scss b/assets/_primer/markdown/headings.scss
new file mode 100644
index 0000000..26347bb
--- /dev/null
+++ b/assets/_primer/markdown/headings.scss
@@ -0,0 +1,72 @@
+// Needs refactoring
+// stylelint-disable selector-max-compound-selectors, selector-max-specificity
+// stylelint-disable selector-max-type
+.markdown-body {
+ // Headings
+ h1,
+ h2,
+ h3,
+ h4,
+ h5,
+ h6 {
+ margin-top: $spacer-4;
+ margin-bottom: $spacer-3;
+ font-weight: $font-weight-bold;
+ line-height: $lh-condensed;
+
+ .octicon-link {
+ color: $text-black;
+ vertical-align: middle;
+ visibility: hidden;
+ }
+
+ &:hover .anchor {
+ text-decoration: none;
+
+ .octicon-link {
+ visibility: visible;
+ }
+ }
+
+ tt,
+ code {
+ font-size: inherit;
+ }
+ }
+
+ h1 {
+ // stylelint-disable-next-line primer/spacing
+ padding-bottom: 0.3em;
+ // stylelint-disable-next-line primer/typography
+ font-size: 2em;
+ border-bottom: $border-width $border-style $border-gray-light;
+ }
+
+ h2 {
+ // stylelint-disable-next-line primer/spacing
+ padding-bottom: 0.3em;
+ // stylelint-disable-next-line primer/typography
+ font-size: 1.5em;
+ border-bottom: $border-width $border-style $border-gray-light;
+ }
+
+ h3 {
+ // stylelint-disable-next-line primer/typography
+ font-size: 1.25em;
+ }
+
+ h4 {
+ font-size: 1em;
+ }
+
+ h5 {
+ // stylelint-disable-next-line primer/typography
+ font-size: 0.875em;
+ }
+
+ h6 {
+ // stylelint-disable-next-line primer/typography
+ font-size: 0.85em;
+ color: $text-gray-light;
+ }
+}
diff --git a/assets/_primer/markdown/images.scss b/assets/_primer/markdown/images.scss
new file mode 100644
index 0000000..caea502
--- /dev/null
+++ b/assets/_primer/markdown/images.scss
@@ -0,0 +1,131 @@
+// Need to target base styles
+// stylelint-disable selector-max-compound-selectors, selector-no-qualifying-type
+// stylelint-disable selector-max-type
+.markdown-body {
+ // Images & Stuff
+ img {
+ max-width: 100%;
+ // because we put padding on the images to hide header lines, and some people
+ // specify the width of their images in their markdown.
+ box-sizing: content-box;
+ background-color: $bg-white;
+
+ &[align=right] {
+ // stylelint-disable-next-line primer/spacing
+ padding-left: 20px;
+ }
+
+ &[align=left] {
+ // stylelint-disable-next-line primer/spacing
+ padding-right: 20px;
+ }
+ }
+
+ .emoji {
+ max-width: none;
+ vertical-align: text-top;
+ // Override `
` styles so Emjois don't clash with zebra striping in our tables
+ background-color: transparent;
+ }
+
+ // Gollum Image Tags
+
+ // Framed
+ span.frame {
+ display: block;
+ overflow: hidden;
+
+ > span {
+ display: block;
+ float: left;
+ width: auto;
+ // stylelint-disable-next-line primer/spacing
+ padding: 7px;
+ // stylelint-disable-next-line primer/spacing
+ margin: 13px 0 0;
+ overflow: hidden;
+ // stylelint-disable-next-line primer/borders
+ border: $border-width $border-style lighten($gray-300, 5%);
+ }
+
+ span img {
+ display: block;
+ float: left;
+ }
+
+ span span {
+ display: block;
+ // stylelint-disable-next-line primer/spacing
+ padding: 5px 0 0;
+ clear: both;
+ color: $text-gray-dark;
+ }
+ }
+
+ span.align-center {
+ display: block;
+ overflow: hidden;
+ clear: both;
+
+ > span {
+ display: block;
+ // stylelint-disable-next-line primer/spacing
+ margin: 13px auto 0;
+ overflow: hidden;
+ text-align: center;
+ }
+
+ span img {
+ margin: 0 auto;
+ text-align: center;
+ }
+ }
+
+ span.align-right {
+ display: block;
+ overflow: hidden;
+ clear: both;
+
+ > span {
+ display: block;
+ // stylelint-disable-next-line primer/spacing
+ margin: 13px 0 0;
+ overflow: hidden;
+ text-align: right;
+ }
+
+ span img {
+ margin: 0;
+ text-align: right;
+ }
+ }
+
+ span.float-left {
+ display: block;
+ float: left;
+ // stylelint-disable-next-line primer/spacing
+ margin-right: 13px;
+ overflow: hidden;
+
+ span {
+ // stylelint-disable-next-line primer/spacing
+ margin: 13px 0 0;
+ }
+ }
+
+ span.float-right {
+ display: block;
+ float: right;
+ // stylelint-disable-next-line primer/spacing
+ margin-left: 13px;
+ overflow: hidden;
+
+ > span {
+ display: block;
+ // stylelint-disable-next-line primer/spacing
+ margin: 13px auto 0;
+ overflow: hidden;
+ text-align: right;
+ }
+ }
+}
diff --git a/assets/_primer/markdown/index.scss b/assets/_primer/markdown/index.scss
new file mode 100644
index 0000000..b2e8d3d
--- /dev/null
+++ b/assets/_primer/markdown/index.scss
@@ -0,0 +1,8 @@
+@import "../support/index.scss";
+@import "./markdown-body.scss";
+@import "./headings.scss";
+@import "./lists.scss";
+@import "./tables.scss";
+@import "./images.scss";
+@import "./code.scss";
+@import "./blob-csv.scss";
diff --git a/assets/_primer/markdown/lists.scss b/assets/_primer/markdown/lists.scss
new file mode 100644
index 0000000..b680faf
--- /dev/null
+++ b/assets/_primer/markdown/lists.scss
@@ -0,0 +1,77 @@
+// Base styles
+// stylelint-disable selector-no-qualifying-type
+// stylelint-disable selector-max-type
+.markdown-body {
+
+ // Lists, Blockquotes & Such
+ ul,
+ ol {
+ // stylelint-disable-next-line primer/spacing
+ padding-left: 2em;
+
+ &.no-list {
+ padding: 0;
+ list-style-type: none;
+ }
+ }
+
+ // Did someone complain about list spacing? Encourage them
+ // to create the spacing with their markdown formatting.
+ // List behavior should be controled by the markup, not the css.
+ //
+ // For lists with padding between items, use blank
+ // lines between items. This will generate paragraphs with
+ // padding to space things out.
+ //
+ // - item
+ //
+ // - item
+ //
+ // - item
+ //
+ // For list without padding, don't use blank lines.
+ //
+ // - item
+ // - item
+ // - item
+ //
+ // Modifying the css to emulate these behaviors merely brakes
+ // one case in the process of solving another. Don't change
+ // this unless it's really really a bug.
+ ul ul,
+ ul ol,
+ ol ol,
+ ol ul {
+ margin-top: 0;
+ margin-bottom: 0;
+ }
+
+ li {
+ word-wrap: break-all;
+ }
+
+ li > p {
+ margin-top: $spacer-3;
+ }
+
+ li + li {
+ margin-top: $em-spacer-3;
+ }
+
+ dl {
+ padding: 0;
+
+ dt {
+ padding: 0;
+ margin-top: $spacer-3;
+ font-size: 1em;
+ font-style: italic;
+ font-weight: $font-weight-bold;
+ }
+
+ dd {
+ padding: 0 $spacer-3;
+ margin-bottom: $spacer-3;
+ }
+ }
+}
diff --git a/assets/_primer/markdown/markdown-body.scss b/assets/_primer/markdown/markdown-body.scss
new file mode 100644
index 0000000..6581f19
--- /dev/null
+++ b/assets/_primer/markdown/markdown-body.scss
@@ -0,0 +1,99 @@
+// All of our block level items should have the same margin
+// stylelint-disable selector-max-type
+
+// This is styling for generic markdownized text. Anything you put in a
+// container with .markdown-body on it should render generally well. It also
+// includes some GitHub Flavored Markdown specific styling (like @mentions)
+.markdown-body {
+ font-family: $body-font;
+ font-size: $h4-size;
+ line-height: $body-line-height;
+ word-wrap: break-word;
+
+ @import "../base/kbd.scss"; // adds support for keyboard shortcuts
+
+ // Clearfix on the markdown body
+ &::before {
+ display: table;
+ content: "";
+ }
+
+ &::after {
+ display: table;
+ clear: both;
+ content: "";
+ }
+
+ > *:first-child {
+ margin-top: 0 !important;
+ }
+
+ > *:last-child {
+ margin-bottom: 0 !important;
+ }
+
+ // Anchors like . These sometimes end up wrapped around
+ // text when users mistakenly forget to close the tag or use self-closing tag
+ // syntax. We don't want them to appear like links.
+ // FIXME: a:not(:link):not(:visited) would be a little clearer here (and
+ // possibly faster to match), but it breaks styling of elements due
+ // to https://bugs.webkit.org/show_bug.cgi?id=142737.
+ a:not([href]) {
+ color: inherit;
+ text-decoration: none;
+ }
+
+ // Link Colors
+ .absent {
+ color: $text-red;
+ }
+
+ .anchor {
+ float: left;
+ padding-right: $spacer-1;
+ // stylelint-disable-next-line primer/spacing
+ margin-left: -20px;
+ line-height: $lh-condensed-ultra;
+
+ &:focus {
+ outline: none;
+ }
+ }
+
+ p,
+ blockquote,
+ ul,
+ ol,
+ dl,
+ table,
+ pre,
+ details {
+ margin-top: 0;
+ margin-bottom: $spacer-3;
+ }
+
+ hr {
+ height: $em-spacer-3;
+ padding: 0;
+ margin: $spacer-4 0;
+ // stylelint-disable-next-line primer/colors
+ background-color: $gray-200;
+ border: 0;
+ }
+
+ blockquote {
+ // stylelint-disable-next-line primer/spacing
+ padding: 0 1em;
+ color: $text-gray-light;
+ // stylelint-disable-next-line primer/borders
+ border-left: 0.25em $border-style lighten($gray-300, 5%);
+
+ > :first-child {
+ margin-top: 0;
+ }
+
+ > :last-child {
+ margin-bottom: 0;
+ }
+ }
+}
diff --git a/assets/_primer/markdown/tables.scss b/assets/_primer/markdown/tables.scss
new file mode 100644
index 0000000..9d73d17
--- /dev/null
+++ b/assets/_primer/markdown/tables.scss
@@ -0,0 +1,36 @@
+// Needs refactoring
+// stylelint-disable selector-max-type
+.markdown-body {
+ // Tables
+ table {
+ display: block;
+ width: 100%;
+ overflow: auto;
+
+ th {
+ font-weight: $font-weight-bold;
+ }
+
+ th,
+ td {
+ // stylelint-disable-next-line primer/spacing
+ padding: 6px 13px;
+ // stylelint-disable-next-line primer/borders
+ border: $border-width $border-style lighten($gray-300, 5%);
+ }
+
+ tr {
+ background-color: $bg-white;
+ // stylelint-disable-next-line primer/borders
+ border-top: $border-width $border-style darken($gray-300, 4%);
+
+ &:nth-child(2n) {
+ background-color: $bg-gray;
+ }
+ }
+
+ img {
+ background-color: transparent;
+ }
+ }
+}
diff --git a/assets/_primer/support/index.scss b/assets/_primer/support/index.scss
new file mode 100644
index 0000000..93f9449
--- /dev/null
+++ b/assets/_primer/support/index.scss
@@ -0,0 +1,11 @@
+// variables
+@import "./variables/typography.scss";
+@import "./variables/colors.scss";
+@import "./variables/layout.scss";
+@import "./variables/misc.scss";
+
+// mixins
+@import "./mixins/typography.scss";
+@import "./mixins/layout.scss";
+@import "./mixins/buttons.scss";
+@import "./mixins/misc.scss";
diff --git a/assets/_primer/support/mixins/buttons.scss b/assets/_primer/support/mixins/buttons.scss
new file mode 100644
index 0000000..4b6cbb3
--- /dev/null
+++ b/assets/_primer/support/mixins/buttons.scss
@@ -0,0 +1,167 @@
+// Button color generator for primary and themed buttons
+
+// New button hotness
+@mixin btn-solid($color, $bg, $bg2) {
+ color: $color;
+ background-color: $bg2;
+ background-image: linear-gradient(-180deg, $bg 0%, $bg2 90%);
+
+ @if $bg == $gray-000 {
+ &:focus,
+ &.focus {
+ box-shadow: $btn-input-focus-shadow;
+ }
+
+ &:hover,
+ &.hover {
+ background-color: darken($bg2, 3%);
+ background-image: linear-gradient(-180deg, darken($bg, 3%) 0%, darken($bg2, 3%) 90%);
+ background-position: 0 -$em-spacer-5;
+ border-color: rgba($black, 0.35);
+ }
+
+ &:active,
+ &.selected,
+ &[aria-selected=true],
+ [open] > & {
+ background-color: darken(desaturate($bg, 10%), 6%);
+ background-image: none;
+ border-color: rgba($black, 0.35); // repeat to avoid shift on click-drag off of button
+ box-shadow: $btn-active-shadow;
+ }
+
+ &:disabled,
+ &.disabled,
+ &[aria-disabled=true] {
+ color: rgba($color, 0.4);
+ background-color: $bg2;
+ background-image: none;
+ border-color: $border-color-button;
+ box-shadow: none;
+ }
+
+ }
+ @else {
+ &:focus,
+ &.focus {
+ box-shadow: 0 0 0 0.2em rgba($bg, 0.4);
+ }
+
+ &:hover,
+ &.hover {
+ background-color: darken($bg2, 2%);
+ background-image: linear-gradient(-180deg, darken($bg, 2%) 0%, darken($bg2, 2%) 90%);
+ background-position: 0 -$em-spacer-5;
+ border-color: $black-fade-50;
+ }
+
+ &:active,
+ &.selected,
+ &[aria-selected=true],
+ [open] > & {
+ background-color: darken(mix($bg, $bg2, 50%), 7%);
+ background-image: none;
+ border-color: $black-fade-50; // repeat to avoid shift on click-drag off of button
+ box-shadow: $btn-active-shadow;
+ }
+
+ &:disabled,
+ &.disabled,
+ &[aria-disabled=true] {
+ color: rgba($color, 0.75);
+ background-color: mix($bg2, $white, 50%);
+ background-image: none;
+ border-color: $border-color-button;
+ box-shadow: none;
+ }
+
+ .Counter {
+ color: darken($bg, 8%);
+ background-color: $white;
+ }
+ }
+}
+
+// Inverse button hover style
+@mixin btn-inverse($color, $bg, $bg2) {
+ color: $color;
+ background-color: $bg;
+ background-image: linear-gradient(-180deg, $bg 0%, $bg2 90%);
+
+ &:focus {
+ box-shadow: 0 0 0 0.2em rgba($color, 0.4);
+ }
+
+ &:hover {
+ color: $text-white;
+ background-color: $color;
+ background-image: linear-gradient(-180deg, lighten($color, 10%) 0%, $color 90%);
+ border-color: $black-fade-50;
+
+ .Counter {
+ color: $text-white;
+ }
+ }
+
+ &:active,
+ &.selected,
+ &[aria-selected=true],
+ [open] > & {
+ color: $text-white;
+ background-color: darken($color, 5%);
+ background-image: none;
+ border-color: $black-fade-50;
+ box-shadow: $btn-active-shadow;
+ }
+
+ &:disabled,
+ &.disabled,
+ &[aria-disabled=true] {
+ color: rgba($color, 0.4);
+ background-color: $bg2;
+ background-image: none;
+ border-color: $border-color-button;
+ box-shadow: none;
+ }
+}
+
+// Outline color generator for btn-outline to make the hover state inverse the text and bg colors.
+@mixin btn-outline($text-color: $text-blue, $bg-color: $bg-white) {
+ color: $text-color;
+ background-color: $bg-color;
+ background-image: none;
+
+ .Counter {
+ background-color: rgba($black, 0.07);
+ }
+
+ &:hover,
+ &:active,
+ &.selected,
+ &[aria-selected=true],
+ [open] > & {
+ color: $bg-color;
+ background-color: $text-color;
+ background-image: none;
+ border-color: $text-color;
+
+ .Counter {
+ color: $text-color;
+ background-color: $bg-color;
+ }
+ }
+
+ &:focus {
+ border-color: $text-color;
+ box-shadow: 0 0 0 0.2em rgba($text-color, 0.4);
+ }
+
+ &:disabled,
+ &.disabled,
+ &[aria-disabled=true] {
+ color: $black-fade-30;
+ background-color: $bg-white;
+ border-color: $black-fade-15;
+ box-shadow: none;
+ }
+}
diff --git a/assets/_primer/support/mixins/layout.scss b/assets/_primer/support/mixins/layout.scss
new file mode 100644
index 0000000..a6d30cf
--- /dev/null
+++ b/assets/_primer/support/mixins/layout.scss
@@ -0,0 +1,58 @@
+// Responsive media queries
+
+@mixin breakpoint($breakpoint) {
+ @if $breakpoint == "" {
+ @content;
+ }
+
+ @else {
+ // Retrieves the value from the key
+ $value: map-get($breakpoints, $breakpoint);
+
+ // If the key exists in the map
+ @if $value != null {
+ // Prints a media query based on the value
+ @media (min-width: $value) {
+ @content;
+ }
+ }
+
+ // If the key doesn't exist in the map
+ @else {
+ @warn "Unfortunately, no value could be retrieved from `#{$breakpoint}`. "
+ + "Please make sure it is defined in `$breakpoints` map.";
+ }
+ }
+}
+
+// Retina media query
+
+@mixin retina-media-query {
+ @media
+ only screen and (-webkit-min-device-pixel-ratio: 2),
+ only screen and (min--moz-device-pixel-ratio: 2),
+ only screen and (-moz-min-device-pixel-ratio: 2),
+ only screen and (-o-min-device-pixel-ratio: 2/1),
+ only screen and (min-device-pixel-ratio: 2),
+ only screen and (min-resolution: 192dpi),
+ only screen and (min-resolution: 2dppx) {
+ @content;
+ }
+}
+
+// Clearfix
+//
+// Clears floats via mixin.
+
+@mixin clearfix {
+ &::before {
+ display: table;
+ content: "";
+ }
+
+ &::after {
+ display: table;
+ clear: both;
+ content: "";
+ }
+}
diff --git a/assets/_primer/support/mixins/misc.scss b/assets/_primer/support/mixins/misc.scss
new file mode 100644
index 0000000..ebdd32d
--- /dev/null
+++ b/assets/_primer/support/mixins/misc.scss
@@ -0,0 +1,29 @@
+// Generate a two-color caret for any element.
+@mixin double-caret($foreground: $text-white, $background: lighten($gray-300, 5%)) {
+ &::after,
+ &::before {
+ position: absolute;
+ top: 11px;
+ right: 100%;
+ left: -16px;
+ display: block;
+ width: 0;
+ height: 0;
+ pointer-events: none;
+ content: " ";
+ border-color: transparent;
+ border-style: solid solid outset;
+ }
+
+ &::after {
+ margin-top: 1px;
+ margin-left: 2px;
+ border-width: 7px;
+ border-right-color: $foreground;
+ }
+
+ &::before {
+ border-width: 8px;
+ border-right-color: $background;
+ }
+}
diff --git a/assets/_primer/support/mixins/typography.scss b/assets/_primer/support/mixins/typography.scss
new file mode 100644
index 0000000..23ec0e3
--- /dev/null
+++ b/assets/_primer/support/mixins/typography.scss
@@ -0,0 +1,84 @@
+// Text hiding for image based text replacement.
+// Higher performance than -9999px because it only renders
+// the size of the actual text, not a full 9999px box.
+@mixin hide-text() {
+ overflow: hidden;
+ text-indent: 100%;
+ white-space: nowrap;
+}
+
+// Heading mixins for use within components
+// These match heading utilities in utilities/typography
+@mixin h1 {
+ font-size: $h1-size;
+ font-weight: $font-weight-bold;
+}
+
+@mixin h2 {
+ font-size: $h2-size;
+ font-weight: $font-weight-bold;
+}
+
+@mixin h3 {
+ font-size: $h3-size;
+ font-weight: $font-weight-bold;
+}
+
+@mixin h4 {
+ font-size: $h4-size;
+ font-weight: $font-weight-bold;
+}
+
+@mixin h5 {
+ font-size: $h5-size;
+ font-weight: $font-weight-bold;
+}
+
+@mixin h6 {
+ font-size: $h6-size;
+ font-weight: $font-weight-bold;
+}
+
+// Responsive heading mixins
+// There are no responsive mixins for h4-h6 because they are small
+// and don't need to be smaller on mobile.
+@mixin f1-responsive {
+ font-size: $h1-size-mobile;
+
+ // 32px on desktop
+ @include breakpoint(md) { font-size: $h1-size; }
+
+}
+
+@mixin f2-responsive {
+ font-size: $h2-size-mobile;
+
+ // 24px on desktop
+ @include breakpoint(md) { font-size: $h2-size; }
+}
+
+@mixin f3-responsive {
+ font-size: $h3-size-mobile;
+
+ // 20px on desktop
+ @include breakpoint(md) { font-size: $h3-size; }
+
+}
+
+// These use the mixins from above for responsive heading sizes.
+// The following mixins can be used where it's convenient or necessary to
+// couple the responsive font-size with the font-weight.
+@mixin h1-responsive {
+ @include f1-responsive;
+ font-weight: $font-weight-bold;
+}
+
+@mixin h2-responsive {
+ @include f2-responsive;
+ font-weight: $font-weight-bold;
+}
+
+@mixin h3-responsive {
+ @include f3-responsive;
+ font-weight: $font-weight-bold;
+}
diff --git a/assets/_primer/support/variables/color-system.scss b/assets/_primer/support/variables/color-system.scss
new file mode 100644
index 0000000..febc58b
--- /dev/null
+++ b/assets/_primer/support/variables/color-system.scss
@@ -0,0 +1,243 @@
+// Black based on same hue as $gray-900
+$black: #1b1f23 !default;
+$white: #fff !default;
+
+//
+//
+// -------- Grays --------
+$gray-000: #fafbfc !default;
+$gray-100: #f6f8fa !default;
+$gray-200: #e1e4e8 !default;
+$gray-300: #d1d5da !default;
+$gray-400: #959da5 !default;
+$gray-500: #6a737d !default;
+$gray-600: #586069 !default;
+$gray-700: #444d56 !default;
+$gray-800: #2f363d !default;
+$gray-900: #24292e !default; // body font color
+
+// -------- Blue --------
+$blue-000: #f1f8ff !default;
+$blue-100: #dbedff !default;
+$blue-200: #c8e1ff !default;
+$blue-300: #79b8ff !default;
+$blue-400: #2188ff !default;
+$blue-500: #0366d6 !default; // Default: Passes AA with #fff
+$blue-600: #005cc5 !default;
+$blue-700: #044289 !default;
+$blue-800: #032f62 !default;
+$blue-900: #05264c !default; // Passes with 1/2/300 blues
+
+// -------- Green --------
+$green-000: #f0fff4 !default;
+$green-100: #dcffe4 !default;
+$green-200: #bef5cb !default;
+$green-300: #85e89d !default;
+$green-400: #34d058 !default;
+$green-500: #28a745 !default; // Default. passes AA Large
+$green-600: #22863a !default; // Text green, passes AA on #fff
+$green-700: #176f2c !default;
+$green-800: #165c26 !default;
+$green-900: #144620 !default;
+
+// -------- Yellow --------
+$yellow-000: #fffdef !default;
+$yellow-100: #fffbdd !default;
+$yellow-200: #fff5b1 !default;
+$yellow-300: #ffea7f !default;
+$yellow-400: #ffdf5d !default;
+$yellow-500: #ffd33d !default;
+$yellow-600: #f9c513 !default;
+$yellow-700: #dbab09 !default;
+$yellow-800: #b08800 !default;
+$yellow-900: #735c0f !default;
+
+// -------- Orange --------
+$orange-000: #fff8f2 !default;
+$orange-100: #ffebda !default;
+$orange-200: #ffd1ac !default;
+$orange-300: #ffab70 !default;
+$orange-400: #fb8532 !default;
+$orange-500: #f66a0a !default; // Default. passes AA Large with #fff
+$orange-600: #e36209 !default;
+$orange-700: #d15704 !default;
+$orange-800: #c24e00 !default;
+$orange-900: #a04100 !default;
+
+// -------- Red --------
+$red-000: #ffeef0 !default;
+$red-100: #ffdce0 !default;
+$red-200: #fdaeb7 !default;
+$red-300: #f97583 !default;
+$red-400: #ea4a5a !default;
+$red-500: #d73a49 !default; // Default. passes AA
+$red-600: #cb2431 !default;
+$red-700: #b31d28 !default;
+$red-800: #9e1c23 !default;
+$red-900: #86181d !default;
+
+// -------- Purple --------
+$purple-000: #f5f0ff !default;
+$purple-100: #e6dcfd !default;
+$purple-200: #d1bcf9 !default;
+$purple-300: #b392f0 !default;
+$purple-400: #8a63d2 !default;
+$purple-500: #6f42c1 !default; // passes AA with #fff
+$purple-600: #5a32a3 !default;
+$purple-700: #4c2889 !default;
+$purple-800: #3a1d6e !default;
+$purple-900: #29134e !default;
+
+// -------- Pink --------
+$pink-000: #ffeef8 !default;
+$pink-100: #fedbf0 !default;
+$pink-200: #f9b3dd !default;
+$pink-300: #f692ce !default;
+$pink-400: #ec6cb9 !default;
+$pink-500: #ea4aaa !default;
+$pink-600: #d03592 !default;
+$pink-700: #b93a86 !default;
+$pink-800: #99306f !default;
+$pink-900: #6d224f !default;
+
+// -------- Fades --------
+$black-fade-15: rgba($black, 0.15) !default;
+$black-fade-30: rgba($black, 0.3) !default;
+$black-fade-50: rgba($black, 0.5) !default;
+$black-fade-70: rgba($black, 0.7) !default;
+$black-fade-85: rgba($black, 0.85) !default;
+
+$white-fade-15: rgba($white, 0.15) !default;
+$white-fade-30: rgba($white, 0.3) !default;
+$white-fade-50: rgba($white, 0.5) !default;
+$white-fade-70: rgba($white, 0.7) !default;
+$white-fade-85: rgba($white, 0.85) !default;
+
+// -------- Color defaults --------
+$red: $red-500 !default;
+$purple: $purple-500 !default;
+$blue: $blue-500 !default;
+$green: $green-500 !default;
+$yellow: $yellow-500 !default;
+$orange: $orange-500 !default;
+
+$gray-dark: $gray-900 !default;
+$gray-light: $gray-400 !default;
+$gray: $gray-500 !default;
+
+// -------- Color gradient maps --------
+
+$grays: (
+ 0: $gray-000,
+ 1: $gray-100,
+ 2: $gray-200,
+ 3: $gray-300,
+ 4: $gray-400,
+ 5: $gray-500,
+ 6: $gray-600,
+ 7: $gray-700,
+ 8: $gray-800,
+ 9: $gray-900,
+) !default;
+
+$blues: (
+ 0: $blue-000,
+ 1: $blue-100,
+ 2: $blue-200,
+ 3: $blue-300,
+ 4: $blue-400,
+ 5: $blue-500,
+ 6: $blue-600,
+ 7: $blue-700,
+ 8: $blue-800,
+ 9: $blue-900,
+) !default;
+
+$greens: (
+ 0: $green-000,
+ 1: $green-100,
+ 2: $green-200,
+ 3: $green-300,
+ 4: $green-400,
+ 5: $green-500,
+ 6: $green-600,
+ 7: $green-700,
+ 8: $green-800,
+ 9: $green-900,
+) !default;
+
+$yellows: (
+ 0: $yellow-000,
+ 1: $yellow-100,
+ 2: $yellow-200,
+ 3: $yellow-300,
+ 4: $yellow-400,
+ 5: $yellow-500,
+ 6: $yellow-600,
+ 7: $yellow-700,
+ 8: $yellow-800,
+ 9: $yellow-900,
+) !default;
+
+$oranges: (
+ 0: $orange-000,
+ 1: $orange-100,
+ 2: $orange-200,
+ 3: $orange-300,
+ 4: $orange-400,
+ 5: $orange-500,
+ 6: $orange-600,
+ 7: $orange-700,
+ 8: $orange-800,
+ 9: $orange-900,
+) !default;
+
+$reds: (
+ 0: $red-000,
+ 1: $red-100,
+ 2: $red-200,
+ 3: $red-300,
+ 4: $red-400,
+ 5: $red-500,
+ 6: $red-600,
+ 7: $red-700,
+ 8: $red-800,
+ 9: $red-900,
+) !default;
+
+$purples: (
+ 0: $purple-000,
+ 1: $purple-100,
+ 2: $purple-200,
+ 3: $purple-300,
+ 4: $purple-400,
+ 5: $purple-500,
+ 6: $purple-600,
+ 7: $purple-700,
+ 8: $purple-800,
+ 9: $purple-900,
+) !default;
+
+$pinks: (
+ 0: $pink-000,
+ 1: $pink-100,
+ 2: $pink-200,
+ 3: $pink-300,
+ 4: $pink-400,
+ 5: $pink-500,
+ 6: $pink-600,
+ 7: $pink-700,
+ 8: $pink-800,
+ 9: $pink-900,
+) !default;
+
+$hue-maps: (
+ "gray": $grays,
+ "blue": $blues,
+ "green": $greens,
+ "yellow": $yellows,
+ "orange": $oranges,
+ "red": $reds,
+ "purple": $purples,
+ "pink": $pinks,
+) !default;
diff --git a/assets/_primer/support/variables/colors.scss b/assets/_primer/support/variables/colors.scss
new file mode 100644
index 0000000..ffbf018
--- /dev/null
+++ b/assets/_primer/support/variables/colors.scss
@@ -0,0 +1,63 @@
+@import "color-system.scss";
+// Color variables
+
+// Border colors
+$border-white: $white !default;
+$border-black-fade: $black-fade-15 !default;
+$border-white-fade: $white-fade-15 !default;
+$border-gray-dark: $gray-300 !default;
+$border-gray-darker: $gray-700 !default;
+$border-gray-light: lighten($gray-200, 3%) !default;
+$border-gray: $gray-200 !default;
+$border-blue: $blue-500 !default;
+$border-blue-light: $blue-200 !default;
+$border-green: $green-400 !default;
+$border-green-light: desaturate($green-300, 40%) !default;
+$border-purple: $purple !default;
+$border-red: $red !default;
+$border-red-light: desaturate($red-300, 60%) !default;
+$border-yellow: desaturate($yellow-300, 60%) !default;
+
+// Buttons have a slightly more opaque border than $border-black-fade (15% alpha)
+$border-color-button: rgba($black, 0.2) !default;
+
+// Background colors
+$bg-white: $white !default;
+$bg-black: $black !default;
+$bg-black-fade: $black-fade-50 !default;
+$bg-blue-light: $blue-000 !default;
+$bg-blue: $blue-500 !default;
+$bg-gray-dark: $gray-900 !default;
+$bg-gray-light: $gray-000 !default;
+$bg-gray: $gray-100 !default;
+$bg-green: $green-500 !default;
+$bg-green-light: $green-100 !default;
+$bg-orange: $orange-700 !default;
+$bg-purple: $purple-500 !default;
+$bg-purple-light: $purple-000 !default;
+$bg-pink: $pink-500 !default;
+$bg-red: $red-500 !default;
+$bg-red-light: $red-100 !default;
+$bg-yellow: $yellow-500 !default;
+$bg-yellow-light: $yellow-200 !default;
+$bg-yellow-dark: $yellow-700 !default;
+
+// diffstat background colors
+$bg-diffstat-added: darken($green-400, 5%) !default;
+$bg-diffstat-deleted: $red-600 !default;
+$bg-diffstat-neutral: $gray-300 !default;
+
+// Text colors
+$text-black: $black !default;
+$text-white: $white !default;
+$text-blue: $blue-500 !default;
+$text-gray-dark: $gray-900 !default;
+$text-gray-light: $gray-500 !default;
+$text-gray: $gray-600 !default;
+$text-green: $green-500 !default;
+$text-orange: $orange-900 !default;
+$text-orange-light: $orange-600 !default;
+$text-purple: $purple !default;
+$text-pink: $pink-500 !default;
+$text-red: $red-600 !default;
+$text-yellow: $yellow-800 !default;
diff --git a/assets/_primer/support/variables/layout.scss b/assets/_primer/support/variables/layout.scss
new file mode 100644
index 0000000..cec508c
--- /dev/null
+++ b/assets/_primer/support/variables/layout.scss
@@ -0,0 +1,129 @@
+// Layout variables
+
+// these are values for the display CSS property
+$display-values: (
+ block,
+ flex,
+ inline,
+ inline-block,
+ inline-flex,
+ none,
+ table,
+ table-cell
+) !default;
+
+// maps edges to respective corners for border-radius
+$edges: (
+ top: (top-left, top-right),
+ right: (top-right, bottom-right),
+ bottom: (bottom-right, bottom-left),
+ left: (bottom-left, top-left)
+) !default;
+
+// These are our margin and padding utility spacers. The default step size we
+// use is 8px. This gives us a key of:
+// 0 => 0px
+// 1 => 4px
+// 2 => 8px
+// 3 => 16px
+// 4 => 24px
+// 5 => 32px
+// 6 => 40px
+$spacer: 8px !default;
+
+// Our spacing scale
+$spacer-0: 0 !default; // 0
+$spacer-1: round($spacer / 2) !default; // 4px
+$spacer-2: $spacer !default; // 8px
+$spacer-3: $spacer * 2 !default; // 16px
+$spacer-4: $spacer * 3 !default; // 24px
+$spacer-5: $spacer * 4 !default; // 32px
+$spacer-6: $spacer * 5 !default; // 40px
+
+// The list of spacer values
+$spacers: (
+ $spacer-0,
+ $spacer-1,
+ $spacer-2,
+ $spacer-3,
+ $spacer-4,
+ $spacer-5,
+ $spacer-6,
+) !default;
+
+// And the map of spacers, for easier looping:
+// @each $scale, $length in $spacer-map { ... }
+$spacer-map: (
+ 0: $spacer-0,
+ 1: $spacer-1,
+ 2: $spacer-2,
+ 3: $spacer-3,
+ 4: $spacer-4,
+ 5: $spacer-5,
+ 6: $spacer-6,
+) !default;
+
+// Em spacer variables
+$em-spacer-1: 0.0625em !default; // 1/16
+$em-spacer-2: 0.125em !default; // 1/8
+$em-spacer-3: 0.25em !default; // 1/4
+$em-spacer-4: 0.375em !default; // 3/8
+$em-spacer-5: 0.5em !default; // 1/2
+$em-spacer-6: 0.75em !default; // 3/4
+
+// Fixed-width container variables
+$container-width: 980px !default;
+$grid-gutter: 10px !default;
+
+// Breakpoint widths
+$width-xs: 0 !default;
+// Small screen / phone
+$width-sm: 544px !default;
+// Medium screen / tablet
+$width-md: 768px !default;
+// Large screen / desktop (980 + (16 * 2)) <= container + gutters
+$width-lg: 1012px !default;
+// Extra large screen / wide desktop
+$width-xl: 1280px !default;
+
+// Responsive container widths
+$container-sm: $width-sm !default;
+$container-md: $width-md !default;
+$container-lg: $width-lg !default;
+$container-xl: $width-xl !default;
+
+// Breakpoints in the form (name: length)
+$breakpoints: (
+ sm: $width-sm,
+ md: $width-md,
+ lg: $width-lg,
+ xl: $width-xl
+) !default;
+
+// This map in the form (breakpoint: variant) is used to iterate over
+// breakpoints and create both responsive and non-responsive classes in one
+// loop:
+//
+// ```scss
+// @each $breakpoint, $variant of $responsive-variants {
+// @include breakpoint($breakpoint) {
+// .foo#{$variant}-bar { foo: bar !important; }
+// }
+// }
+// ```
+$responsive-variants: (
+ "": "",
+ sm: "-sm",
+ md: "-md",
+ lg: "-lg",
+ xl: "-xl",
+) !default;
+
+// responive utility position values
+$responsive-positions: (
+ static,
+ relative,
+ absolute,
+ fixed,
+ sticky
+) !default;
diff --git a/assets/_primer/support/variables/misc.scss b/assets/_primer/support/variables/misc.scss
new file mode 100644
index 0000000..30a8363
--- /dev/null
+++ b/assets/_primer/support/variables/misc.scss
@@ -0,0 +1,26 @@
+// Miscellaneous variables
+
+// Border size
+$border-width: 1px !default;
+$border-color: $border-gray !default;
+$border-style: solid !default;
+$border: $border-width $border-color $border-style !default;
+$border-radius: 3px !default;
+
+// Box shadow
+$box-shadow: 0 1px 1px rgba($black, 0.1) !default;
+$box-shadow-medium: 0 1px 5px $black-fade-15 !default;
+$box-shadow-large: 0 1px 15px $black-fade-15 !default;
+$box-shadow-extra-large: 0 10px 50px rgba($black, 0.07) !default;
+
+// Button and form variables
+$form-control-shadow: inset 0 1px 2px rgba($black, 0.075) !default;
+$btn-input-focus-shadow: 0 0 0 0.2em rgba($blue, 0.3) !default;
+$btn-active-shadow: inset 0 0.15em 0.3em $black-fade-15 !default;
+
+// Tooltips
+$tooltip-max-width: 250px !default;
+$tooltip-background-color: $black !default;
+$tooltip-text-color: $white !default;
+$tooltip-delay: 0.4s !default;
+$tooltip-duration: 0.1s !default;
diff --git a/assets/_primer/support/variables/typography.scss b/assets/_primer/support/variables/typography.scss
new file mode 100644
index 0000000..dcb57a7
--- /dev/null
+++ b/assets/_primer/support/variables/typography.scss
@@ -0,0 +1,42 @@
+// Typography variables
+
+// Heading sizes - mobile
+// h4-h6 remain the same size on both mobile & desktop
+$h00-size-mobile: 40px !default;
+$h0-size-mobile: 32px !default;
+$h1-size-mobile: 26px !default;
+$h2-size-mobile: 22px !default;
+$h3-size-mobile: 18px !default;
+
+// Heading sizes - desktop
+$h00-size: 48px !default;
+$h0-size: 40px !default;
+$h1-size: 32px !default;
+$h2-size: 24px !default;
+$h3-size: 20px !default;
+$h4-size: 16px !default;
+$h5-size: 14px !default;
+$h6-size: 12px !default;
+
+$font-size-small: 12px !default;
+
+// Font weights
+$font-weight-bold: 600 !default;
+$font-weight-semibold: 500 !default;
+$font-weight-normal: 400 !default;
+$font-weight-light: 300 !default;
+
+// Line heights
+$lh-condensed-ultra: 1 !default;
+$lh-condensed: 1.25 !default;
+$lh-default: 1.5 !default;
+
+// Font stacks
+$body-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji" !default;
+
+// Monospace font stack
+$mono-font: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace !default;
+
+// The base body size
+$body-font-size: 14px !default;
+$body-line-height: $lh-default !default;
diff --git a/assets/_primer/utilities/layout.scss b/assets/_primer/utilities/layout.scss
new file mode 100644
index 0000000..1b4da95
--- /dev/null
+++ b/assets/_primer/utilities/layout.scss
@@ -0,0 +1,87 @@
+// Layout
+// stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before, comment-empty-line-before
+
+// Loop through the breakpoint values
+@each $breakpoint, $variant in $responsive-variants {
+ @include breakpoint($breakpoint) {
+ @each $position in $responsive-positions {
+ .position#{$variant}-#{$position} {
+ position: $position !important;
+ }
+ }
+ }
+}
+
+/* Set top 0 */
+.top-0 { top: 0 !important; }
+/* Set right 0 */
+.right-0 { right: 0 !important; }
+/* Set bottom 0 */
+.bottom-0 { bottom: 0 !important; }
+/* Set left 0 */
+.left-0 { left: 0 !important; }
+
+/* Vertical align middle */
+.v-align-middle { vertical-align: middle !important; }
+/* Vertical align top */
+.v-align-top { vertical-align: top !important; }
+/* Vertical align bottom */
+.v-align-bottom { vertical-align: bottom !important; }
+/* Vertical align to the top of the text */
+.v-align-text-top { vertical-align: text-top !important; }
+/* Vertical align to the bottom of the text */
+.v-align-text-bottom { vertical-align: text-bottom !important; }
+/* Vertical align to the parent's baseline */
+.v-align-baseline { vertical-align: baseline !important; }
+
+// Overflow utilities
+@each $overflow in (visible, hidden, auto, scroll) {
+ .overflow-#{$overflow} { overflow: $overflow !important; }
+ .overflow-x-#{$overflow} { overflow-x: $overflow !important; }
+ .overflow-y-#{$overflow} { overflow-y: $overflow !important; }
+}
+
+// Clear floats
+/* Clear floats around the element */
+.clearfix {
+ @include clearfix;
+}
+
+// Floats
+@each $breakpoint, $variant in $responsive-variants {
+ @include breakpoint($breakpoint) {
+ /* Float to the left */
+ .float#{$variant}-left { float: left !important; }
+ /* Float to the right */
+ .float#{$variant}-right { float: right !important; }
+ /* No float */
+ .float#{$variant}-none { float: none !important; }
+ }
+}
+
+// Width and height utilities, helpful in combination
+// with display-table utilities and images
+/* Max width 100% */
+.width-fit { max-width: 100% !important; }
+/* Set the width to 100% */
+.width-full { width: 100% !important; }
+/* Max height 100% */
+.height-fit { max-height: 100% !important; }
+/* Set the height to 100% */
+.height-full { height: 100% !important; }
+
+/* Remove min-width from element */
+.min-width-0 { min-width: 0 !important; }
+
+@each $breakpoint, $variant in $responsive-variants {
+ @include breakpoint($breakpoint) {
+
+ // Auto varients
+ .width#{$variant}-auto { width: auto !important; }
+
+ /* Set the direction to rtl */
+ .direction#{$variant}-rtl { direction: rtl !important; }
+ /* Set the direction to ltr */
+ .direction#{$variant}-ltr { direction: ltr !important; }
+ }
+}
diff --git a/assets/_var.scss b/assets/_var.scss
new file mode 100644
index 0000000..05cc8d8
--- /dev/null
+++ b/assets/_var.scss
@@ -0,0 +1,36 @@
+$font-size-0: 2rem !default; // 16px->32px
+$font-size-1: 1.75rem !default; // 16px->28px #
+$font-size-2: 1.5rem !default; // 16px->24px ##
+$font-size-3: 1.25rem !default; // 16px->20px ###
+$font-size-4: 1rem !default; // 16px->16px ####
+
+// used primer variables
+// @primer/css/support/variables/misc.scss
+$font-weight-bold: 600;
+$font-weight-semibold: 600;
+$font-weight-normal: 400;
+$font-weight-light: 400;
+$body-font: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Helvetica Neue', 'Helvetica', 'Arial', 'PingFang SC',
+ 'Hiragino Sans GB', 'Source Han Sans CN', 'Source Han Sans SC', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif !default;
+$mono-font: 'Cascadia Code', 'SF Mono', 'Fira Code', 'Consolas', $body-font !default;
+$body-font-size: 16px !default;
+
+@font-face {
+ font-family: 'Product Sans';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: local('Product Sans Bold'), local('ProductSans-Bold'),
+ url('https://cdn.jsdelivr.net/gh/amzrk2/web-font-archive@1.3.1/product-sans/product-sans-bold.woff2') format('woff2');
+ unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191,
+ U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+
+@font-face {
+ font-family: 'Cascadia Code';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: local('Cascadia Code Regular'), local('Cascadia Mono Regular'),
+ url('https://cdn.jsdelivr.net/gh/amzrk2/web-font-archive@1.3.1/cascadia-code/cascadia.woff2') format('woff2');
+}
diff --git a/assets/css/APlayer.min.css b/assets/css/APlayer.min.css
deleted file mode 100644
index 12b5583..0000000
--- a/assets/css/APlayer.min.css
+++ /dev/null
@@ -1,3 +0,0 @@
-.aplayer{background:#fff;font-family:Arial,Helvetica,sans-serif;margin:5px;box-shadow:0 2px 2px 0 rgba(0,0,0,.07),0 1px 5px 0 rgba(0,0,0,.1);border-radius:2px;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:normal;position:relative}.aplayer *{box-sizing:content-box}.aplayer svg{width:100%;height:100%}.aplayer svg circle,.aplayer svg path{fill:#fff}.aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid #e9e9e9}.aplayer.aplayer-withlist .aplayer-list{display:block}.aplayer.aplayer-withlist .aplayer-icon-order,.aplayer.aplayer-withlist .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon.aplayer-icon-menu{display:inline}.aplayer.aplayer-withlrc .aplayer-pic{height:90px;width:90px}.aplayer.aplayer-withlrc .aplayer-info{margin-left:90px;height:90px;padding:10px 7px 0}.aplayer.aplayer-withlrc .aplayer-lrc{display:block}.aplayer.aplayer-narrow{width:66px}.aplayer.aplayer-narrow .aplayer-info,.aplayer.aplayer-narrow .aplayer-list{display:none}.aplayer.aplayer-narrow .aplayer-body,.aplayer.aplayer-narrow .aplayer-pic{height:66px;width:66px}.aplayer.aplayer-fixed{position:fixed;bottom:0;left:0;right:0;margin:0;z-index:99;overflow:visible;max-width:400px;box-shadow:none}.aplayer.aplayer-fixed .aplayer-list{margin-bottom:65px;border:1px solid #eee;border-bottom:none}.aplayer.aplayer-fixed .aplayer-body{position:fixed;bottom:0;left:0;right:0;margin:0;z-index:99;background:#fff;padding-right:18px;transition:all .3s ease;max-width:400px}.aplayer.aplayer-fixed .aplayer-lrc{display:block;position:fixed;bottom:10px;left:0;right:0;margin:0;z-index:98;pointer-events:none;text-shadow:-1px -1px 0 #fff}.aplayer.aplayer-fixed .aplayer-lrc:after,.aplayer.aplayer-fixed .aplayer-lrc:before{display:none}.aplayer.aplayer-fixed .aplayer-info{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:0 0;transform-origin:0 0;transition:all .3s ease;border-bottom:none;border-top:1px solid #e9e9e9}.aplayer.aplayer-fixed .aplayer-info .aplayer-music{width:calc(100% - 105px)}.aplayer.aplayer-fixed .aplayer-miniswitcher{display:block}.aplayer.aplayer-fixed.aplayer-narrow .aplayer-info{display:block;-webkit-transform:scaleX(0);transform:scaleX(0)}.aplayer.aplayer-fixed.aplayer-narrow .aplayer-body{width:66px!important}.aplayer.aplayer-fixed.aplayer-narrow .aplayer-miniswitcher .aplayer-icon{-webkit-transform:rotateY(0);transform:rotateY(0)}.aplayer.aplayer-fixed .aplayer-icon-back,.aplayer.aplayer-fixed .aplayer-icon-forward,.aplayer.aplayer-fixed .aplayer-icon-lrc,.aplayer.aplayer-fixed .aplayer-icon-play{display:inline-block}.aplayer.aplayer-fixed .aplayer-icon-back,.aplayer.aplayer-fixed .aplayer-icon-forward,.aplayer.aplayer-fixed .aplayer-icon-menu,.aplayer.aplayer-fixed .aplayer-icon-play{position:absolute;bottom:27px;width:20px;height:20px}.aplayer.aplayer-fixed .aplayer-icon-back{right:75px}.aplayer.aplayer-fixed .aplayer-icon-play{right:50px}.aplayer.aplayer-fixed .aplayer-icon-forward{right:25px}.aplayer.aplayer-fixed .aplayer-icon-menu{right:0}.aplayer.aplayer-arrow .aplayer-icon-loop,.aplayer.aplayer-arrow .aplayer-icon-order,.aplayer.aplayer-mobile .aplayer-icon-volume-down{display:none}.aplayer.aplayer-loading .aplayer-info .aplayer-controller .aplayer-loading-icon{display:block}.aplayer.aplayer-loading .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played .aplayer-thumb{-webkit-transform:scale(1);transform:scale(1)}.aplayer .aplayer-body{position:relative}.aplayer .aplayer-icon{width:15px;height:15px;border:none;background-color:transparent;outline:none;cursor:pointer;opacity:.8;vertical-align:middle;padding:0;font-size:12px;margin:0;display:inline-block}.aplayer .aplayer-icon path{transition:all .2s ease-in-out}.aplayer .aplayer-icon-back,.aplayer .aplayer-icon-forward,.aplayer .aplayer-icon-lrc,.aplayer .aplayer-icon-order,.aplayer .aplayer-icon-play{display:none}.aplayer .aplayer-icon-lrc-inactivity svg{opacity:.4}.aplayer .aplayer-icon-forward{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.aplayer .aplayer-lrc-content{display:none}.aplayer .aplayer-pic{position:relative;float:left;height:66px;width:66px;background-size:cover;background-position:50%;transition:all .3s ease;cursor:pointer}.aplayer .aplayer-pic:hover .aplayer-button{opacity:1}.aplayer .aplayer-pic .aplayer-button{position:absolute;border-radius:50%;opacity:.8;text-shadow:0 1px 1px rgba(0,0,0,.2);box-shadow:0 1px 1px rgba(0,0,0,.2);background:rgba(0,0,0,.2);transition:all .1s ease}.aplayer .aplayer-pic .aplayer-button path{fill:#fff}.aplayer .aplayer-pic .aplayer-hide{display:none}.aplayer .aplayer-pic .aplayer-play{width:26px;height:26px;border:2px solid #fff;bottom:50%;right:50%;margin:0 -15px -15px 0}.aplayer .aplayer-pic .aplayer-play svg{position:absolute;top:3px;left:4px;height:20px;width:20px}.aplayer .aplayer-pic .aplayer-pause{width:16px;height:16px;border:2px solid #fff;bottom:4px;right:4px}.aplayer .aplayer-pic .aplayer-pause svg{position:absolute;top:2px;left:2px;height:12px;width:12px}.aplayer .aplayer-info{margin-left:66px;padding:14px 7px 0 10px;height:66px;box-sizing:border-box}.aplayer .aplayer-info .aplayer-music{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0 0 13px 5px;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;cursor:default;padding-bottom:2px;height:20px}.aplayer .aplayer-info .aplayer-music .aplayer-title{font-size:14px}.aplayer .aplayer-info .aplayer-music .aplayer-author{font-size:12px;color:#666}.aplayer .aplayer-info .aplayer-controller{position:relative;display:flex}.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap{margin:0 0 0 5px;padding:4px 0;cursor:pointer!important;flex:1}.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap:hover .aplayer-bar .aplayer-played .aplayer-thumb{-webkit-transform:scale(1);transform:scale(1)}.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar{position:relative;height:2px;width:100%;background:#cdcdcd}.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-loaded{position:absolute;left:0;top:0;bottom:0;background:#aaa;height:2px;transition:all .5s ease}.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played{position:absolute;left:0;top:0;bottom:0;height:2px}.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played .aplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:10px;width:10px;border-radius:50%;cursor:pointer;transition:all .3s ease-in-out;-webkit-transform:scale(0);transform:scale(0)}.aplayer .aplayer-info .aplayer-controller .aplayer-time{position:relative;right:0;bottom:4px;height:17px;color:#999;font-size:11px;padding-left:7px}.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-time-inner{vertical-align:middle}.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon{cursor:pointer;transition:all .2s ease}.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:#666}.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon.aplayer-icon-loop{margin-right:2px}.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:#000}.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon.aplayer-icon-menu,.aplayer .aplayer-info .aplayer-controller .aplayer-time.aplayer-time-narrow .aplayer-icon-menu,.aplayer .aplayer-info .aplayer-controller .aplayer-time.aplayer-time-narrow .aplayer-icon-mode{display:none}.aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap{position:relative;display:inline-block;margin-left:3px;cursor:pointer!important}.aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap:hover .aplayer-volume-bar-wrap{height:40px}.aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap{position:absolute;bottom:15px;right:-3px;width:25px;height:0;z-index:99;overflow:hidden;transition:all .2s ease-in-out}.aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap.aplayer-volume-bar-wrap-active{height:40px}.aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap .aplayer-volume-bar{position:absolute;bottom:0;right:10px;width:5px;height:35px;background:#aaa;border-radius:2.5px;overflow:hidden}.aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap .aplayer-volume-bar .aplayer-volume{position:absolute;bottom:0;right:0;width:5px;transition:all .1s ease}.aplayer .aplayer-info .aplayer-controller .aplayer-loading-icon{display:none}.aplayer .aplayer-info .aplayer-controller .aplayer-loading-icon svg{position:absolute;-webkit-animation:rotate 1s linear infinite;animation:rotate 1s linear infinite}.aplayer .aplayer-lrc{display:none;position:relative;height:30px;text-align:center;overflow:hidden;margin:-10px 0 7px}.aplayer .aplayer-lrc:before{top:0;height:10%;background:linear-gradient(180deg,#fff 0,hsla(0,0%,100%,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#00ffffff",GradientType=0)}.aplayer .aplayer-lrc:after,.aplayer .aplayer-lrc:before{position:absolute;z-index:1;display:block;overflow:hidden;width:100%;content:" "}.aplayer .aplayer-lrc:after{bottom:0;height:33%;background:linear-gradient(180deg,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,.8));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffffff",endColorstr="#ccffffff",GradientType=0)}.aplayer .aplayer-lrc p{font-size:12px;color:#666;line-height:16px!important;height:16px!important;padding:0!important;margin:0!important;transition:all .5s ease-out;opacity:.4;overflow:hidden}.aplayer .aplayer-lrc p.aplayer-lrc-current{opacity:1;overflow:visible;height:auto!important;min-height:16px}.aplayer .aplayer-lrc.aplayer-lrc-hide{display:none}.aplayer .aplayer-lrc .aplayer-lrc-contents{width:100%;transition:all .5s ease-out;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;cursor:default}.aplayer .aplayer-list{overflow:auto;transition:all .5s ease;will-change:height;display:none;overflow:hidden}.aplayer .aplayer-list.aplayer-list-hide{max-height:0!important}.aplayer .aplayer-list ol{list-style-type:none;margin:0;padding:0;overflow-y:auto}.aplayer .aplayer-list ol::-webkit-scrollbar{width:5px}.aplayer .aplayer-list ol::-webkit-scrollbar-thumb{border-radius:3px;background-color:#eee}.aplayer .aplayer-list ol::-webkit-scrollbar-thumb:hover{background-color:#ccc}.aplayer .aplayer-list ol li{position:relative;height:32px;line-height:32px;padding:0 15px;font-size:12px;border-top:1px solid #e9e9e9;cursor:pointer;transition:all .2s ease;overflow:hidden;margin:0}.aplayer .aplayer-list ol li:first-child{border-top:none}.aplayer .aplayer-list ol li:hover{background:#efefef}.aplayer .aplayer-list ol li.aplayer-list-light{background:#e9e9e9}.aplayer .aplayer-list ol li.aplayer-list-light .aplayer-list-cur{display:inline-block}.aplayer .aplayer-list ol li .aplayer-list-cur{display:none;width:3px;height:22px;position:absolute;left:0;top:5px;cursor:pointer}.aplayer .aplayer-list ol li .aplayer-list-index{color:#666;margin-right:12px;cursor:pointer}.aplayer .aplayer-list ol li .aplayer-list-author{color:#666;float:right;cursor:pointer}.aplayer .aplayer-notice{opacity:0;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);font-size:12px;border-radius:4px;padding:5px 10px;transition:all .3s ease-in-out;overflow:hidden;color:#fff;pointer-events:none;background-color:#f4f4f5;color:#909399}.aplayer .aplayer-miniswitcher{display:none;position:absolute;top:0;right:0;bottom:0;height:100%;background:#e6e6e6;width:18px;border-radius:0 2px 2px 0}.aplayer .aplayer-miniswitcher .aplayer-icon{height:100%;width:100%;-webkit-transform:rotateY(180deg);transform:rotateY(180deg);transition:all .3s ease}.aplayer .aplayer-miniswitcher .aplayer-icon path{fill:#666}.aplayer .aplayer-miniswitcher .aplayer-icon:hover path{fill:#000}@-webkit-keyframes aplayer-roll{0%{left:0}to{left:-100%}}@keyframes aplayer-roll{0%{left:0}to{left:-100%}}@-webkit-keyframes rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}
-
-/*# sourceMappingURL=APlayer.min.css.map*/
\ No newline at end of file
diff --git a/assets/css/fontawsome.min.css b/assets/css/fontawsome.min.css
deleted file mode 100644
index 3d28ab2..0000000
--- a/assets/css/fontawsome.min.css
+++ /dev/null
@@ -1,5 +0,0 @@
-/*!
- * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
- */
-.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adobe:before{content:"\f778"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\f95b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\f952"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\f905"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\f907"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\f95c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\f95d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\f95e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\f95f"}.fa-handshake-slash:before{content:"\f960"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\f961"}.fa-head-side-cough-slash:before{content:"\f962"}.fa-head-side-mask:before{content:"\f963"}.fa-head-side-virus:before{content:"\f964"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\f965"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\f913"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\f955"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\f966"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\f967"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\f91a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\f956"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\f968"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\f91e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\f969"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\f96a"}.fa-pump-soap:before{content:"\f96b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\f96c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\f957"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\f96e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\f96f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\f970"}.fa-store-slash:before{content:"\f971"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\f972"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\f941"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\f949"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\f974"}.fa-virus-slash:before{content:"\f975"}.fa-viruses:before{content:"\f976"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.fab,.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900}
\ No newline at end of file
diff --git a/assets/fuji.scss b/assets/fuji.scss
new file mode 100644
index 0000000..b9982c5
--- /dev/null
+++ b/assets/fuji.scss
@@ -0,0 +1,24 @@
+@import '_custom';
+
+// var & global
+@import '_var';
+@import '_global';
+
+// primer
+@import '_primer/support/index.scss'; // support
+@import '_primer/base/index.scss'; // base
+@import '_primer/layout/container.scss'; // containers
+@import '_primer/layout/grid.scss'; // grid system
+@import '_primer/markdown/index.scss'; // markdown parsing system
+@import '_primer/utilities/layout.scss'; // float and clearfix
+
+// style
+@import '_fuji-style/_header';
+@import '_fuji-style/_content';
+@import '_fuji-style/_sidebar';
+@import '_fuji-style/_footer';
+@import '_fuji-style/_components';
+
+// theme
+@import '_fuji-theme/_light';
+@import '_fuji-theme/_dark';
diff --git a/assets/js/APlayer.min.js b/assets/js/APlayer.min.js
deleted file mode 100644
index 6ba17e3..0000000
--- a/assets/js/APlayer.min.js
+++ /dev/null
@@ -1,2 +0,0 @@
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("APlayer",[],t):"object"==typeof exports?exports.APlayer=t():e.APlayer=t()}(window,function(){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i:i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:i})},n.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=41)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=/mobile/i.test(window.navigator.userAgent),a={secondToTime:function(e){var t=Math.floor(e/3600),n=Math.floor((e-3600*t)/60),i=Math.floor(e-3600*t-60*n);return(t>0?[t,n,i]:[n,i]).map(function(e){return e<10?"0"+e:""+e}).join(":")},getElementViewLeft:function(e){var t=e.offsetLeft,n=e.offsetParent,i=document.body.scrollLeft+document.documentElement.scrollLeft;if(document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement)for(;null!==n&&n!==e;)t+=n.offsetLeft,n=n.offsetParent;else for(;null!==n;)t+=n.offsetLeft,n=n.offsetParent;return t-i},getElementViewTop:function(e,t){for(var n,i=e.offsetTop,a=e.offsetParent;null!==a;)i+=a.offsetTop,a=a.offsetParent;return n=document.body.scrollTop+document.documentElement.scrollTop,t?i:i-n},isMobile:i,storage:{set:function(e,t){localStorage.setItem(e,t)},get:function(e){return localStorage.getItem(e)}},nameMap:{dragStart:i?"touchstart":"mousedown",dragMove:i?"touchmove":"mousemove",dragEnd:i?"touchend":"mouseup"},randomOrder:function(e){return function(e){for(var t=e.length-1;t>=0;t--){var n=Math.floor(Math.random()*(t+1)),i=e[n];e[n]=e[t],e[t]=i}return e}([].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t\n \n ',t+=r(n+s),t+='\n ',t+=r(e.name),t+='\n \n\n"}),t}},function(e,t,n){"use strict";e.exports=n(15)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=g(n(33)),a=g(n(32)),r=g(n(31)),o=g(n(30)),s=g(n(29)),l=g(n(28)),u=g(n(27)),c=g(n(26)),p=g(n(25)),d=g(n(24)),h=g(n(23)),y=g(n(22)),f=g(n(21)),v=g(n(20)),m=g(n(19));function g(e){return e&&e.__esModule?e:{default:e}}var w={play:i.default,pause:a.default,volumeUp:r.default,volumeDown:o.default,volumeOff:s.default,orderRandom:l.default,orderList:u.default,menu:c.default,loopAll:p.default,loopOne:d.default,loopNone:h.default,loading:y.default,right:f.default,skip:v.default,lrc:m.default};t.default=w},function(e,t,n){"use strict";var i,a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};i=function(){return this}();try{i=i||Function("return this")()||(0,eval)("this")}catch(e){"object"===("undefined"==typeof window?"undefined":a(window))&&(i=window)}e.exports=i},function(e,t,n){"use strict";var i,a,r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};void 0===(a="function"==typeof(i=function(){if("object"===("undefined"==typeof window?"undefined":r(window))&&void 0!==document.querySelectorAll&&void 0!==window.pageYOffset&&void 0!==history.pushState){var e=function(e,t,n,i){return n>i?t:e+(t-e)*((a=n/i)<.5?4*a*a*a:(a-1)*(2*a-2)*(2*a-2)+1);var a},t=function(t,n,i,a){n=n||500;var r=(a=a||window).scrollTop||window.pageYOffset;if("number"==typeof t)var o=parseInt(t);else var o=function(e,t){return"HTML"===e.nodeName?-t:e.getBoundingClientRect().top+t}(t,r);var s=Date.now(),l=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(e){window.setTimeout(e,15)};!function u(){var c=Date.now()-s;a!==window?a.scrollTop=e(r,o,c,n):window.scroll(0,e(r,o,c,n)),c>n?"function"==typeof i&&i(t):l(u)}()},n=function(e){if(!e.defaultPrevented){e.preventDefault(),location.hash!==this.hash&&window.history.pushState(null,null,this.hash);var n=document.getElementById(this.hash.substring(1));if(!n)return;t(n,500,function(e){location.replace("#"+e.id)})}};return document.addEventListener("DOMContentLoaded",function(){for(var e,t=document.querySelectorAll('a[href^="#"]:not([href="#"])'),i=t.length;e=t[--i];)e.addEventListener("click",n,!1)}),t}})?i.call(t,n,t,e):i)||(e.exports=a)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n1),n=0===this.audios.length;this.player.template.listOl.innerHTML+=(0,a.default)({theme:this.player.options.theme,audio:e,index:this.audios.length+1}),this.audios=this.audios.concat(e),t&&this.audios.length>1&&this.player.container.classList.add("aplayer-withlist"),this.player.randomOrder=r.default.randomOrder(this.audios.length),this.player.template.listCurs=this.player.container.querySelectorAll(".aplayer-list-cur"),this.player.template.listCurs[this.audios.length-1].style.backgroundColor=e.theme||this.player.options.theme,n&&("random"===this.player.options.order?this.switch(this.player.randomOrder[0]):this.switch(0))}},{key:"remove",value:function(e){if(this.player.events.trigger("listremove",{index:e}),this.audios[e])if(this.audios.length>1){var t=this.player.container.querySelectorAll(".aplayer-list li");t[e].remove(),this.audios.splice(e,1),this.player.lrc&&this.player.lrc.remove(e),e===this.index&&(this.audios[e]?this.switch(e):this.switch(e-1)),this.index>e&&this.index--;for(var n=e;nt&&!e.player.audio.paused&&(e.player.container.classList.remove("aplayer-loading"),i=!1),t=n)},100)}},{key:"enable",value:function(e){this["enable"+e+"Checker"]=!0,"fps"===e&&this.initfpsChecker()}},{key:"disable",value:function(e){this["enable"+e+"Checker"]=!1}},{key:"destroy",value:function(){var e=this;this.types.forEach(function(t){e["enable"+t+"Checker"]=!1,e[t+"Checker"]&&clearInterval(e[t+"Checker"])})}}]),e}();t.default=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n1?"one"===e.player.options.loop?(e.player.options.loop="none",e.player.template.loop.innerHTML=r.default.loopNone):"none"===e.player.options.loop?(e.player.options.loop="all",e.player.template.loop.innerHTML=r.default.loopAll):"all"===e.player.options.loop&&(e.player.options.loop="one",e.player.template.loop.innerHTML=r.default.loopOne):"one"===e.player.options.loop||"all"===e.player.options.loop?(e.player.options.loop="none",e.player.template.loop.innerHTML=r.default.loopNone):"none"===e.player.options.loop&&(e.player.options.loop="all",e.player.template.loop.innerHTML=r.default.loopAll)})}},{key:"initMenuButton",value:function(){var e=this;this.player.template.menu.addEventListener("click",function(){e.player.list.toggle()})}},{key:"initMiniSwitcher",value:function(){var e=this;this.player.template.miniSwitcher.addEventListener("click",function(){e.player.setMode("mini"===e.player.mode?"normal":"mini")})}},{key:"initSkipButton",value:function(){var e=this;this.player.template.skipBackButton.addEventListener("click",function(){e.player.skipBack()}),this.player.template.skipForwardButton.addEventListener("click",function(){e.player.skipForward()}),this.player.template.skipPlayButton.addEventListener("click",function(){e.player.toggle()})}},{key:"initLrcButton",value:function(){var e=this;this.player.template.lrcButton.addEventListener("click",function(){e.player.template.lrcButton.classList.contains("aplayer-icon-lrc-inactivity")?(e.player.template.lrcButton.classList.remove("aplayer-icon-lrc-inactivity"),e.player.lrc&&e.player.lrc.show()):(e.player.template.lrcButton.classList.add("aplayer-icon-lrc-inactivity"),e.player.lrc&&e.player.lrc.hide())})}}]),e}();t.default=s},function(e,t,n){var i=n(2);e.exports=function(e){"use strict";e=e||{};var t="",n=i.$each,a=e.lyrics,r=(e.$value,e.$index,i.$escape);return n(a,function(e,n){t+="\n ",t+=r(e[1]),t+="
\n"}),t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,a=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:this.player.audio.currentTime;if(this.index>this.current.length-1||e=this.current[this.index+1][0])for(var t=0;t=this.current[t][0]&&(!this.current[t+1]||e=200&&n.status<300||304===n.status?t.parsed[e]=t.parse(n.responseText):(t.player.notice("LRC file request fails: status "+n.status),t.parsed[e]=[["00:00","Not available"]]),t.container.innerHTML=(0,o.default)({lyrics:t.parsed[e]}),t.update(0),t.current=t.parsed[e])};var i=this.player.list.audios[e].lrc;n.open("get",i,!0),n.send(null)}else this.player.list.audios[e].lrc?this.parsed[e]=this.parse(this.player.list.audios[e].lrc):this.parsed[e]=[["00:00","Not available"]];this.container.innerHTML=(0,o.default)({lyrics:this.parsed[e]}),this.update(0),this.current=this.parsed[e]}},{key:"parse",value:function(e){if(e){for(var t=(e=e.replace(/([^\]^\n])\[/g,function(e,t){return t+"\n["})).split("\n"),n=[],i=t.length,a=0;a/g,"").replace(/^\s+|\s+$/g,"");if(r)for(var s=r.length,l=0;l]/;a.$escape=function(e){return function(e){var t=""+e,n=r.exec(t);if(!n)return e;var i="",a=void 0,o=void 0,s=void 0;for(a=n.index,o=0;a\n \n ",l(n(1)(u({theme:a.theme,audio:a.audio,index:1}))),t+='\n
\n\n\n \n \n \n \n \n \n\n\n \n\n'):(t+='\n\n \n \n \n \n \n No audio\n \n \n \n \n \n \n \n \n \n 00:00 / 00:00\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n ",l(n(1)(u({theme:a.theme,audio:a.audio,index:1}))),t+="\n
\n\n"),t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n '},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t,n){"use strict";var i,a,r=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function l(e){if(i===setTimeout)return setTimeout(e,0);if((i===o||!i)&&setTimeout)return i=setTimeout,setTimeout(e,0);try{return i(e,0)}catch(t){try{return i.call(null,e,0)}catch(t){return i.call(this,e,0)}}}!function(){try{i="function"==typeof setTimeout?setTimeout:o}catch(e){i=o}try{a="function"==typeof clearTimeout?clearTimeout:s}catch(e){a=s}}();var u,c=[],p=!1,d=-1;function h(){p&&u&&(p=!1,u.length?c=u.concat(c):d=-1,c.length&&y())}function y(){if(!p){var e=l(h);p=!0;for(var t=c.length;t;){for(u=c,c=[];++d1)for(var n=1;n=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n(35),t.setImmediate=setImmediate,t.clearImmediate=clearImmediate},function(e,t,n){"use strict";(function(t){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=setTimeout;function a(){}function r(e){if(!(this instanceof r))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],c(e,this)}function o(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,r._immediateFn(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var i;try{i=n(e._value)}catch(e){return void l(t.promise,e)}s(t.promise,i)}else(1===e._state?s:l)(t.promise,e._value)})):e._deferreds.push(t)}function s(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"===(void 0===t?"undefined":n(t))||"function"==typeof t)){var i=t.then;if(t instanceof r)return e._state=3,e._value=t,void u(e);if("function"==typeof i)return void c((a=i,o=t,function(){a.apply(o,arguments)}),e)}e._state=1,e._value=t,u(e)}catch(t){l(e,t)}var a,o}function l(e,t){e._state=2,e._value=t,u(e)}function u(e){2===e._state&&0===e._deferreds.length&&r._immediateFn(function(){e._handled||r._unhandledRejectionFn(e._value)});for(var t=0,n=e._deferreds.length;t1&&this.container.classList.add("aplayer-withlist"),r.default.isMobile&&this.container.classList.add("aplayer-mobile"),this.arrow=this.container.offsetWidth<=300,this.arrow&&this.container.classList.add("aplayer-arrow"),this.container=this.options.container,2===this.options.lrcType||!0===this.options.lrcType)for(var n=this.container.getElementsByClassName("aplayer-lrc-content"),i=0;i1?(e.notice("An audio error has occurred, player will skip forward in 2 seconds."),t=setTimeout(function(){e.skipForward(),e.paused||e.play()},2e3)):1===e.list.audios.length&&e.notice("An audio error has occurred.")}),this.events.on("listswitch",function(){t&&clearTimeout(t)}),this.on("ended",function(){"none"===e.options.loop?"list"===e.options.order?e.list.index0&&void 0!==arguments[0]?arguments[0]:this.list.audios[this.list.index].theme||this.options.theme,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.list.index;(!(arguments.length>2&&void 0!==arguments[2])||arguments[2])&&this.list.audios[t]&&(this.list.audios[t].theme=e),this.template.listCurs[t]&&(this.template.listCurs[t].style.backgroundColor=e),t===this.list.index&&(this.template.pic.style.backgroundColor=e,this.template.played.style.background=e,this.template.thumb.style.background=e,this.template.volume.style.background=e)}},{key:"seek",value:function(e){e=Math.max(e,0),e=Math.min(e,this.duration),this.audio.currentTime=e,this.bar.set("played",e/this.duration,"width"),this.template.ptime.innerHTML=r.default.secondToTime(e)}},{key:"setUIPlaying",value:function(){var e=this;if(this.paused&&(this.paused=!1,this.template.button.classList.remove("aplayer-play"),this.template.button.classList.add("aplayer-pause"),this.template.button.innerHTML="",setTimeout(function(){e.template.button.innerHTML=o.default.pause},100),this.template.skipPlayButton.innerHTML=o.default.pause),this.timer.enable("loading"),this.options.mutex)for(var t=0;t=.95?this.template.volumeButton.innerHTML=o.default.volumeUp:this.volume()>0?this.template.volumeButton.innerHTML=o.default.volumeDown:this.template.volumeButton.innerHTML=o.default.volumeOff}},{key:"volume",value:function(e,t){return e=parseFloat(e),isNaN(e)||(e=Math.max(e,0),e=Math.min(e,1),this.bar.set("volume",e,"height"),t||this.storage.set("volume",e),this.audio.volume=e,this.audio.muted&&(this.audio.muted=!1),this.switchVolumeIcon()),this.audio.muted?0:this.audio.volume}},{key:"on",value:function(e,t){this.events.on(e,t)}},{key:"toggle",value:function(){this.template.button.classList.contains("aplayer-play")?this.play():this.template.button.classList.contains("aplayer-pause")&&this.pause()}},{key:"switchAudio",value:function(e){this.list.switch(e)}},{key:"addAudio",value:function(e){this.list.add(e)}},{key:"removeAudio",value:function(e){this.list.remove(e)}},{key:"destroy",value:function(){m.splice(m.indexOf(this),1),this.pause(),this.container.innerHTML="",this.audio.src="",this.timer.destroy(),this.events.trigger("destroy")}},{key:"setMode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"normal";this.mode=e,"mini"===e?this.container.classList.add("aplayer-narrow"):"normal"===e&&this.container.classList.remove("aplayer-narrow")}},{key:"notice",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2e3,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.8;this.template.notice.innerHTML=e,this.template.notice.style.opacity=i,this.noticeTime&&clearTimeout(this.noticeTime),this.events.trigger("noticeshow",{text:e}),n&&(this.noticeTime=setTimeout(function(){t.template.notice.style.opacity=0,t.events.trigger("noticehide")},n))}},{key:"prevIndex",value:function(){if(!(this.list.audios.length>1))return 0;if("list"===this.options.order)return this.list.index-1<0?this.list.audios.length-1:this.list.index-1;if("random"===this.options.order){var e=this.randomOrder.indexOf(this.list.index);return 0===e?this.randomOrder[this.randomOrder.length-1]:this.randomOrder[e-1]}}},{key:"nextIndex",value:function(){if(!(this.list.audios.length>1))return 0;if("list"===this.options.order)return(this.list.index+1)%this.list.audios.length;if("random"===this.options.order){var e=this.randomOrder.indexOf(this.list.index);return e===this.randomOrder.length-1?this.randomOrder[0]:this.randomOrder[e+1]}}},{key:"skipBack",value:function(){this.list.switch(this.prevIndex())}},{key:"skipForward",value:function(){this.list.switch(this.nextIndex())}},{key:"duration",get:function(){return isNaN(this.audio.duration)?0:this.audio.duration}}],[{key:"version",get:function(){return"1.10.1"}}]),e}();t.default=g},,function(e,t,n){},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(40);var i,a=n(38),r=(i=a)&&i.__esModule?i:{default:i};console.log("\n %c APlayer v1.10.1 af84efb %c http://aplayer.js.org \n","color: #fadfa3; background: #030307; padding:5px 0;","background: #fadfa3; padding:5px 0;"),t.default=r.default}]).default});
-//# sourceMappingURL=APlayer.min.js.map
\ No newline at end of file
diff --git a/assets/js/jquery.min.js b/assets/js/jquery.min.js
deleted file mode 100644
index 47b6397..0000000
--- a/assets/js/jquery.min.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! jQuery v3.5.0 | (c) JS Foundation and other contributors | jquery.org/license */
-!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 049?function(){m(h,{timeout:g}),g!==e.ricTimeout&&(g=e.ricTimeout)}:A(function(){k(h)},!0);return function(a){var e;(a=!0===a)&&(g=33),b||(b=!0,e=f-(c.now()-d),e<0&&(e=0),a||e<9?i():k(i,e))}},C=function(a){var b,d,e=99,f=function(){b=null,a()},g=function(){var a=c.now()-d;a0)&&"visible"!=x(e,"overflow")&&(d=e.getBoundingClientRect(),g=I>d.left&&Hd.top-1&&G500&&f.clientWidth>500?500:370:e.expand,d._defEx=r,s=r*e.expFactor,t=e.hFac,K=null,P2&&p>2&&!b.hidden?(P=s,R=0):P=p>1&&R>1&&Q<6?r:O),q!==l&&(D=innerWidth+l*t,F=innerHeight+l,n=-1*l,q=l),h=u[c].getBoundingClientRect(),(J=h.bottom)>=n&&(G=h.top)<=F&&(I=h.right)>=n*t&&(H=h.left)<=D&&(J||I||H||G)&&(e.loadHidden||T(u[c]))&&(m&&Q<3&&!o&&(p<3||R<4)||U(u[c],l))){if(ba(u[c]),k=!0,Q>9)break}else!k&&m&&!j&&Q<4&&R<4&&p>2&&(g[0]||e.preloadAfterLoad)&&(g[0]||!o&&(J||I||H||G||"auto"!=u[c][i](e.sizesAttr)))&&(j=g[0]||u[c]);j&&!k&&ba(j)}},W=B(V),X=function(a){var b=a.target;if(b._lazyCache)return void delete b._lazyCache;S(a),s(b,e.loadedClass),t(b,e.loadingClass),u(b,Z),v(b,"lazyloaded")},Y=A(X),Z=function(a){Y({target:a.target})},$=function(a,b){try{a.contentWindow.location.replace(b)}catch(c){a.src=b}},_=function(a){var b,c=a[i](e.srcsetAttr);(b=e.customMedia[a[i]("data-media")||a[i]("media")])&&a.setAttribute("media",b),c&&a.setAttribute("srcset",c)},aa=A(function(a,b,c,d,f){var g,h,j,l,m,p;(m=v(a,"lazybeforeunveil",b)).defaultPrevented||(d&&(c?s(a,e.autosizesClass):a.setAttribute("sizes",d)),h=a[i](e.srcsetAttr),g=a[i](e.srcAttr),f&&(j=a.parentNode,l=j&&n.test(j.nodeName||"")),p=b.firesLoad||"src"in a&&(h||g||l),m={target:a},s(a,e.loadingClass),p&&(clearTimeout(o),o=k(S,2500),u(a,Z,!0)),l&&q.call(j.getElementsByTagName("source"),_),h?a.setAttribute("srcset",h):g&&!l&&(M.test(a.nodeName)?$(a,g):a.src=g),f&&(h||l)&&w(a,{src:g})),a._lazyRace&&delete a._lazyRace,t(a,e.lazyClass),z(function(){var b=a.complete&&a.naturalWidth>1;p&&!b||(b&&s(a,"ls-is-cached"),X(m),a._lazyCache=!0,k(function(){"_lazyCache"in a&&delete a._lazyCache},9)),"lazy"==a.loading&&Q--},!0)}),ba=function(a){if(!a._lazyRace){var b,c=L.test(a.nodeName),d=c&&(a[i](e.sizesAttr)||a[i]("sizes")),f="auto"==d;(!f&&m||!c||!a[i]("src")&&!a.srcset||a.complete||r(a,e.errorClass)||!r(a,e.lazyClass))&&(b=v(a,"lazyunveilread").detail,f&&E.updateElem(a,!0,a.offsetWidth),a._lazyRace=!0,Q++,aa(a,b,f,d,c))}},ca=C(function(){e.loadMode=3,W()}),da=function(){3==e.loadMode&&(e.loadMode=2),ca()},ea=function(){if(!m){if(c.now()-y<999)return void k(ea,999);m=!0,e.loadMode=3,W(),j("scroll",da,!0)}};return{_:function(){y=c.now(),d.elements=b.getElementsByClassName(e.lazyClass),g=b.getElementsByClassName(e.lazyClass+" "+e.preloadClass),j("scroll",W,!0),j("resize",W,!0),j("pageshow",function(a){if(a.persisted){var c=b.querySelectorAll("."+e.loadingClass);c.length&&c.forEach&&l(function(){c.forEach(function(a){a.complete&&ba(a)})})}}),a.MutationObserver?new MutationObserver(W).observe(f,{childList:!0,subtree:!0,attributes:!0}):(f[h]("DOMNodeInserted",W,!0),f[h]("DOMAttrModified",W,!0),setInterval(W,999)),j("hashchange",W,!0),["focus","mouseover","click","load","transitionend","animationend"].forEach(function(a){b[h](a,W,!0)}),/d$|^c/.test(b.readyState)?ea():(j("load",ea),b[h]("DOMContentLoaded",W),k(ea,2e4)),d.elements.length?(V(),z._lsFlush()):W()},checkElems:W,unveil:ba,_aLSL:da}}(),E=function(){var a,c=A(function(a,b,c,d){var e,f,g;if(a._lazysizesWidth=d,d+="px",a.setAttribute("sizes",d),n.test(b.nodeName||""))for(e=b.getElementsByTagName("source"),f=0,g=e.length;f1&&void 0!==arguments[1]?arguments[1]:{},l=window.Promise||function(e){function t(){}e(t,t)},u=function(e){var t=e.target;t!==N?-1!==O.indexOf(t)&&w({target:t}):E()},s=function(){if(!A&&T.original){var e=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(k-e)>S.scrollOffset&&setTimeout(E,150)}},f=function(e){var t=e.key||e.keyCode;"Escape"!==t&&"Esc"!==t&&27!==t||E()},p=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t;if(t.background&&(N.style.background=t.background),t.container&&t.container instanceof Object&&(n.container=e({},S.container,t.container)),t.template){var i=o(t.template)?t.template:document.querySelector(t.template);n.template=i}return S=e({},S,n),O.forEach((function(e){e.dispatchEvent(a("medium-zoom:update",{detail:{zoom:j}}))})),j},g=function(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t(e({},S,o))},v=function(){for(var e=arguments.length,t=Array(e),o=0;o0?t.reduce((function(e,t){return[].concat(e,i(t))}),[]):O;return n.forEach((function(e){e.classList.remove("medium-zoom-image"),e.dispatchEvent(a("medium-zoom:detach",{detail:{zoom:j}}))})),O=O.filter((function(e){return-1===n.indexOf(e)})),j},z=function(e,t){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return O.forEach((function(n){n.addEventListener("medium-zoom:"+e,t,o)})),x.push({type:"medium-zoom:"+e,listener:t,options:o}),j},y=function(e,t){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return O.forEach((function(n){n.removeEventListener("medium-zoom:"+e,t,o)})),x=x.filter((function(o){return!(o.type==="medium-zoom:"+e&&o.listener.toString()===t.toString())})),j},b=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=t.target,r=function(){var t={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},i=void 0,r=void 0;if(S.container)if(S.container instanceof Object)i=(t=e({},t,S.container)).width-t.left-t.right-2*S.margin,r=t.height-t.top-t.bottom-2*S.margin;else{var d=(o(S.container)?S.container:document.querySelector(S.container)).getBoundingClientRect(),a=d.width,m=d.height,c=d.left,l=d.top;t=e({},t,{width:a,height:m,left:c,top:l})}i=i||t.width-2*S.margin,r=r||t.height-2*S.margin;var u=T.zoomedHd||T.original,s=n(u)?i:u.naturalWidth||i,f=n(u)?r:u.naturalHeight||r,p=u.getBoundingClientRect(),g=p.top,v=p.left,h=p.width,z=p.height,y=Math.min(s,i)/h,b=Math.min(f,r)/z,E=Math.min(y,b),w="scale("+E+") translate3d("+((i-h)/2-v+S.margin+t.left)/E+"px, "+((r-z)/2-g+S.margin+t.top)/E+"px, 0)";T.zoomed.style.transform=w,T.zoomedHd&&(T.zoomedHd.style.transform=w)};return new l((function(e){if(i&&-1===O.indexOf(i))e(j);else{if(T.zoomed)e(j);else{if(i)T.original=i;else{if(!(O.length>0))return void e(j);var t=O;T.original=t[0]}if(T.original.dispatchEvent(a("medium-zoom:open",{detail:{zoom:j}})),k=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,A=!0,T.zoomed=d(T.original),document.body.appendChild(N),S.template){var n=o(S.template)?S.template:document.querySelector(S.template);T.template=document.createElement("div"),T.template.appendChild(n.content.cloneNode(!0)),document.body.appendChild(T.template)}if(document.body.appendChild(T.zoomed),window.requestAnimationFrame((function(){document.body.classList.add("medium-zoom--opened")})),T.original.classList.add("medium-zoom-image--hidden"),T.zoomed.classList.add("medium-zoom-image--opened"),T.zoomed.addEventListener("click",E),T.zoomed.addEventListener("transitionend",(function t(){A=!1,T.zoomed.removeEventListener("transitionend",t),T.original.dispatchEvent(a("medium-zoom:opened",{detail:{zoom:j}})),e(j)})),T.original.getAttribute("data-zoom-src")){T.zoomedHd=T.zoomed.cloneNode(),T.zoomedHd.removeAttribute("srcset"),T.zoomedHd.removeAttribute("sizes"),T.zoomedHd.src=T.zoomed.getAttribute("data-zoom-src"),T.zoomedHd.onerror=function(){clearInterval(m),console.warn("Unable to reach the zoom image target "+T.zoomedHd.src),T.zoomedHd=null,r()};var m=setInterval((function(){T.zoomedHd.complete&&(clearInterval(m),T.zoomedHd.classList.add("medium-zoom-image--opened"),T.zoomedHd.addEventListener("click",E),document.body.appendChild(T.zoomedHd),r())}),10)}else if(T.original.hasAttribute("srcset")){T.zoomedHd=T.zoomed.cloneNode(),T.zoomedHd.removeAttribute("sizes");var c=T.zoomedHd.addEventListener("load",(function(){T.zoomedHd.removeEventListener("load",c),T.zoomedHd.classList.add("medium-zoom-image--opened"),T.zoomedHd.addEventListener("click",E),document.body.appendChild(T.zoomedHd),r()}))}else r()}}}))},E=function(){return new l((function(e){if(!A&&T.original){A=!0,document.body.classList.remove("medium-zoom--opened"),T.zoomed.style.transform="",T.zoomedHd&&(T.zoomedHd.style.transform=""),T.template&&(T.template.style.transition="opacity 150ms",T.template.style.opacity=0),T.original.dispatchEvent(a("medium-zoom:close",{detail:{zoom:j}})),T.zoomed.addEventListener("transitionend",(function t(){T.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(T.zoomed),T.zoomedHd&&document.body.removeChild(T.zoomedHd),document.body.removeChild(N),T.zoomed.classList.remove("medium-zoom-image--opened"),T.template&&document.body.removeChild(T.template),A=!1,T.zoomed.removeEventListener("transitionend",t),T.original.dispatchEvent(a("medium-zoom:closed",{detail:{zoom:j}})),T.original=null,T.zoomed=null,T.zoomedHd=null,T.template=null,e(j)}))}else e(j)}))},w=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target;return T.original?E():b({target:t})},L=function(){return S},H=function(){return O},C=function(){return T.original},O=[],x=[],A=!1,k=0,S=c,T={original:null,zoomed:null,zoomedHd:null,template:null};"[object Object]"===Object.prototype.toString.call(m)?S=m:(m||"string"==typeof m)&&v(m),S=e({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},S);var N=r(S.background);document.addEventListener("click",u),document.addEventListener("keyup",f),document.addEventListener("scroll",s),window.addEventListener("resize",E);var j={open:b,close:E,toggle:w,update:p,clone:g,attach:v,detach:h,on:z,off:y,getOptions:L,getImages:H,getZoomedImage:C};return j}}));
diff --git a/assets/sass/@primer/css/base/README.md b/assets/sass/@primer/css/base/README.md
deleted file mode 100644
index 4961486..0000000
--- a/assets/sass/@primer/css/base/README.md
+++ /dev/null
@@ -1,25 +0,0 @@
----
-bundle: "base"
-generated: true
----
-
-# Primer CSS: `base` bundle
-
-## Usage
-
-Primer CSS source files are written in [SCSS]. To include this Primer CSS module in your own build, ensure that your `node_modules` directory is listed in your Sass include paths, then import it with:
-
-```scss
-@import "@primer/css/base/index.scss";
-```
-
-## Build
-
-The `@primer/css` npm package includes a standalone CSS build of this module in `dist/base.css`.
-
-## License
-
-[MIT](https://github.com/primer/css/blob/master/LICENSE) © [GitHub](https://github.com/)
-
-
-[scss]: https://sass-lang.com/documentation/syntax#scss
diff --git a/assets/sass/@primer/css/base/base.scss b/assets/sass/@primer/css/base/base.scss
deleted file mode 100644
index 381fa89..0000000
--- a/assets/sass/@primer/css/base/base.scss
+++ /dev/null
@@ -1,86 +0,0 @@
-// stylelint-disable selector-max-type
-* {
- box-sizing: border-box;
-}
-
-input,
-select,
-textarea,
-button {
- font-family: inherit;
- font-size: inherit;
- line-height: inherit;
-}
-
-body {
- font-family: $body-font;
- font-size: $body-font-size;
- line-height: $body-line-height;
- color: $text-gray-dark;
- background-color: $bg-white;
-}
-
-a {
- color: $text-blue;
- text-decoration: none;
-
- &:hover {
- text-decoration: underline;
- }
-}
-
-b,
-strong {
- font-weight: $font-weight-bold;
-}
-
-// Horizontal lines
-//
-// TODO-MDO: Remove `.rule` from everywhere and replace with `
`s
-hr,
-.rule {
- height: 0;
- // stylelint-disable-next-line primer/spacing
- margin: 15px 0;
- overflow: hidden;
- background: transparent;
- border: 0;
- // stylelint-disable-next-line primer/borders
- border-bottom: $border-width $border-style lighten($gray-300, 5%);
- @include clearfix();
-}
-
-//
-// Remove most spacing between table cells.
-//
-
-table {
- border-spacing: 0;
- border-collapse: collapse;
-}
-
-td,
-th {
- padding: 0;
-}
-
-button {
- cursor: pointer;
- // Remove border radius added by Chrome macOS
- border-radius: 0;
-}
-
-// increase the selector specificity for [hidden]
-// so that it always overrides utility classes (.d-block, etc.)
-[hidden][hidden] {
- display: none !important;
-}
-
-details {
- summary { cursor: pointer; }
-
- &:not([open]) {
- // Set details content hidden by default for browsers that don't do this
- > *:not(summary) { display: none !important; }
- }
-}
diff --git a/assets/sass/@primer/css/base/index.scss b/assets/sass/@primer/css/base/index.scss
deleted file mode 100644
index 2c7f8b9..0000000
--- a/assets/sass/@primer/css/base/index.scss
+++ /dev/null
@@ -1,6 +0,0 @@
-@import "../support/index.scss";
-
-@import "./normalize.scss";
-@import "./base.scss";
-@import "./kbd.scss";
-@import "./typography-base.scss";
diff --git a/assets/sass/@primer/css/base/kbd.scss b/assets/sass/@primer/css/base/kbd.scss
deleted file mode 100644
index 7ee4503..0000000
--- a/assets/sass/@primer/css/base/kbd.scss
+++ /dev/null
@@ -1,21 +0,0 @@
-// Keyboard shortcuts
-// stylelint-disable selector-max-type
-
-kbd {
- display: inline-block;
- // stylelint-disable-next-line primer/spacing
- padding: ($spacer-1 - 1) ($spacer-1 + 1);
- font: 11px $mono-font;
- // stylelint-disable-next-line primer/typography
- line-height: 10px;
- // stylelint-disable-next-line primer/colors
- color: $gray-700;
- vertical-align: middle;
- background-color: $bg-gray-light;
- // stylelint-disable-next-line primer/borders
- border: $border-style $border-width $border-gray-dark;
- border-bottom-color: $border-gray-dark;
- border-radius: $border-radius;
- // stylelint-disable-next-line primer/box-shadow
- box-shadow: inset 0 -1px 0 $border-gray-dark;
-}
diff --git a/assets/sass/@primer/css/base/normalize.scss b/assets/sass/@primer/css/base/normalize.scss
deleted file mode 100644
index 95931e7..0000000
--- a/assets/sass/@primer/css/base/normalize.scss
+++ /dev/null
@@ -1,421 +0,0 @@
-// stylelint-disable
-/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */
-
-/**
- * 1. Change the default font family in all browsers (opinionated).
- * 2. Prevent adjustments of font size after orientation changes in IE and iOS.
- */
-
-html {
- font-family: sans-serif; /* 1 */
- -ms-text-size-adjust: 100%; /* 2 */
- -webkit-text-size-adjust: 100%; /* 2 */
-}
-
-/**
- * Remove the margin in all browsers (opinionated).
- */
-
-body {
- margin: 0;
-}
-
-/* HTML5 display definitions
- ========================================================================== */
-
-/**
- * Add the correct display in IE 9-.
- * 1. Add the correct display in Edge, IE, and Firefox.
- * 2. Add the correct display in IE.
- */
-
-article,
-aside,
-details, /* 1 */
-figcaption,
-figure,
-footer,
-header,
-main, /* 2 */
-menu,
-nav,
-section { /* 1 */
- display: block;
-}
-
-summary {
- display: list-item;
-}
-
-/**
- * Add the correct display in IE 9-.
- */
-
-audio,
-canvas,
-progress,
-video {
- display: inline-block;
-}
-
-/**
- * Add the correct display in iOS 4-7.
- */
-
-audio:not([controls]) {
- display: none;
- height: 0;
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Firefox, and Opera.
- */
-
-progress {
- vertical-align: baseline;
-}
-
-/**
- * Add the correct display in IE 10-.
- * 1. Add the correct display in IE.
- */
-
-template, /* 1 */
-[hidden] {
- display: none !important;
-}
-
-/* Links
- ========================================================================== */
-
-/**
- * Remove the gray background on active links in IE 10.
- */
-
-a {
- background-color: transparent; /* 1 */
-}
-
-/**
- * Remove the outline on focused links when they are also active or hovered
- * in all browsers (opinionated).
- */
-
-a:active,
-a:hover {
- outline-width: 0;
-}
-
-/* Text-level semantics
- ========================================================================== */
-
-/**
- * 1. Remove the bottom border in Firefox 39-.
- * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
- */
-
-abbr[title] {
- border-bottom: none; /* 1 */
- text-decoration: underline; /* 2 */
- text-decoration: underline dotted; /* 2 */
-}
-
-/**
- * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
- */
-
-b,
-strong {
- font-weight: inherit;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-b,
-strong {
- font-weight: bolder;
-}
-
-/**
- * Add the correct font style in Android 4.3-.
- */
-
-dfn {
- font-style: italic;
-}
-
-/**
- * Correct the font size and margin on `h1` elements within `section` and
- * `article` contexts in Chrome, Firefox, and Safari.
- */
-
-h1 {
- font-size: 2em;
- margin: 0.67em 0;
-}
-
-/**
- * Add the correct background and color in IE 9-.
- */
-
-mark {
- background-color: #ff0;
- color: $text-black;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/**
- * Prevent `sub` and `sup` elements from affecting the line height in
- * all browsers.
- */
-
-sub,
-sup {
- font-size: 75%;
- line-height: 0;
- position: relative;
- vertical-align: baseline;
-}
-
-sub {
- bottom: -0.25em;
-}
-
-sup {
- top: -0.5em;
-}
-
-/* Embedded content
- ========================================================================== */
-
-/**
- * Remove the border on images inside links in IE 10-.
- */
-
-img {
- border-style: none;
-}
-
-/**
- * Hide the overflow in IE.
- */
-
-svg:not(:root) {
- overflow: hidden;
-}
-
-/* Grouping content
- ========================================================================== */
-
-/**
- * 1. Correct the inheritance and scaling of font size in all browsers.
- * 2. Correct the odd `em` font sizing in all browsers.
- */
-
-code,
-kbd,
-pre,
-samp {
- font-family: monospace, monospace; /* 1 */
- font-size: 1em; /* 2 */
-}
-
-/**
- * Add the correct margin in IE 8.
- */
-
-figure {
- margin: 1em $spacer-6;
-}
-
-/**
- * 1. Add the correct box sizing in Firefox.
- * 2. Show the overflow in Edge and IE.
- */
-
-hr {
- box-sizing: content-box; /* 1 */
- height: 0; /* 1 */
- overflow: visible; /* 2 */
-}
-
-/* Forms
- ========================================================================== */
-
-/**
- * 1. Change font properties to `inherit` in all browsers (opinionated).
- * 2. Remove the margin in Firefox and Safari.
- */
-
-button,
-input,
-select,
-textarea {
- font: inherit; /* 1 */
- margin: 0; /* 2 */
-}
-
-/**
- * Restore the font weight unset by the previous rule.
- */
-
-optgroup {
- font-weight: $font-weight-bold;
-}
-
-/**
- * Show the overflow in IE.
- * 1. Show the overflow in Edge.
- */
-
-button,
-input { /* 1 */
- overflow: visible;
-}
-
-/**
- * Remove the inheritance of text transform in Edge, Firefox, and IE.
- * 1. Remove the inheritance of text transform in Firefox.
- */
-
-button,
-select { /* 1 */
- text-transform: none;
-}
-
-/**
- * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
- * controls in Android 4.
- * 2. Correct the inability to style clickable types in iOS and Safari.
- */
-
-button,
-html [type="button"], /* 1 */
-[type="reset"],
-[type="submit"] {
- -webkit-appearance: button; /* 2 */
-}
-
-/**
- * Remove the inner border and padding in Firefox.
- */
-
-button::-moz-focus-inner,
-[type="button"]::-moz-focus-inner,
-[type="reset"]::-moz-focus-inner,
-[type="submit"]::-moz-focus-inner {
- border-style: none;
- padding: 0;
-}
-
-/**
- * Restore the focus styles unset by the previous rule.
- */
-
-button:-moz-focusring,
-[type="button"]:-moz-focusring,
-[type="reset"]:-moz-focusring,
-[type="submit"]:-moz-focusring {
- outline: 1px dotted ButtonText;
-}
-
-/**
- * Change the border, margin, and padding in all browsers (opinionated).
- */
-
-fieldset {
- border: $border-width $border-style #c0c0c0;
- margin: 0 2px;
- padding: 0.35em 0.625em $em-spacer-6;
-}
-
-/**
- * 1. Correct the text wrapping in Edge and IE.
- * 2. Correct the color inheritance from `fieldset` elements in IE.
- * 3. Remove the padding so developers are not caught out when they zero out
- * `fieldset` elements in all browsers.
- */
-
-legend {
- box-sizing: border-box; /* 1 */
- color: inherit; /* 2 */
- display: table; /* 1 */
- max-width: 100%; /* 1 */
- padding: 0; /* 3 */
- white-space: normal; /* 1 */
-}
-
-/**
- * Remove the default vertical scrollbar in IE.
- */
-
-textarea {
- overflow: auto;
-}
-
-/**
- * 1. Add the correct box sizing in IE 10-.
- * 2. Remove the padding in IE 10-.
- */
-
-[type="checkbox"],
-[type="radio"] {
- box-sizing: border-box; /* 1 */
- padding: 0; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Chrome.
- */
-
-[type="number"]::-webkit-inner-spin-button,
-[type="number"]::-webkit-outer-spin-button {
- height: auto;
-}
-
-/**
- * 1. Correct the odd appearance in Chrome and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- outline-offset: -2px; /* 2 */
-}
-
-/**
- * Remove the inner padding and cancel buttons in Chrome and Safari on OS X.
- */
-
-[type="search"]::-webkit-search-cancel-button,
-[type="search"]::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * Correct the text style of placeholders in Chrome, Edge, and Safari.
- */
-
-::-webkit-input-placeholder {
- color: inherit;
- opacity: 0.54;
-}
-
-/**
- * 1. Correct the inability to style clickable types in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
- -webkit-appearance: button; /* 1 */
- font: inherit; /* 2 */
-}
diff --git a/assets/sass/@primer/css/base/typography-base.scss b/assets/sass/@primer/css/base/typography-base.scss
deleted file mode 100644
index 83eb995..0000000
--- a/assets/sass/@primer/css/base/typography-base.scss
+++ /dev/null
@@ -1,88 +0,0 @@
-// Headings
-// --------------------------------------------------
-// stylelint-disable selector-max-type
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
- margin-top: 0;
- margin-bottom: 0;
-}
-
-h1 { @include h1; }
-h2 { @include h2; }
-h3 { @include h3; }
-h4 { @include h4; }
-h5 { @include h5; }
-h6 { @include h6; }
-
-// Body text
-// --------------------------------------------------
-
-p {
- margin-top: 0;
- // stylelint-disable-next-line primer/spacing
- margin-bottom: 10px;
-}
-
-small {
- // stylelint-disable-next-line primer/typography
- font-size: 90%;
-}
-
-blockquote {
- margin: 0;
-}
-
-// Lists
-// --------------------------------------------------
-
-ul,
-ol {
- padding-left: 0;
- margin-top: 0;
- margin-bottom: 0;
-}
-
-ol ol,
-ul ol {
- list-style-type: lower-roman;
-}
-
-ul ul ol,
-ul ol ol,
-ol ul ol,
-ol ol ol {
- list-style-type: lower-alpha;
-}
-
-dd {
- margin-left: 0;
-}
-
-// Code
-// --------------------------------------------------
-
-tt,
-code {
- font-family: $mono-font;
- font-size: $font-size-small;
-}
-
-pre {
- margin-top: 0;
- margin-bottom: 0;
- font-family: $mono-font;
- font-size: $font-size-small;
-}
-
-// Octicons
-// --------------------------------------------------
-
-// Move this over here as a temporary override to the octicons source repo
-// instead of updating that upstream.
-.octicon {
- vertical-align: text-bottom;
-}
diff --git a/assets/sass/@primer/css/layout/README.md b/assets/sass/@primer/css/layout/README.md
deleted file mode 100644
index 3d078ce..0000000
--- a/assets/sass/@primer/css/layout/README.md
+++ /dev/null
@@ -1,25 +0,0 @@
----
-bundle: "layout"
-generated: true
----
-
-# Primer CSS: `layout` bundle
-
-## Usage
-
-Primer CSS source files are written in [SCSS]. To include this Primer CSS module in your own build, ensure that your `node_modules` directory is listed in your Sass include paths, then import it with:
-
-```scss
-@import "@primer/css/layout/index.scss";
-```
-
-## Build
-
-The `@primer/css` npm package includes a standalone CSS build of this module in `dist/layout.css`.
-
-## License
-
-[MIT](https://github.com/primer/css/blob/master/LICENSE) © [GitHub](https://github.com/)
-
-
-[scss]: https://sass-lang.com/documentation/syntax#scss
diff --git a/assets/sass/@primer/css/layout/container.scss b/assets/sass/@primer/css/layout/container.scss
deleted file mode 100644
index 7e70a6b..0000000
--- a/assets/sass/@primer/css/layout/container.scss
+++ /dev/null
@@ -1,30 +0,0 @@
-// Fixed-width, centered column for site content.
-// Handy container styles that match our breakpoints
-
-// 544px
-.container-sm {
- max-width: $width-sm;
- margin-right: auto;
- margin-left: auto;
-}
-
-// 768px
-.container-md {
- max-width: $container-md;
- margin-right: auto;
- margin-left: auto;
-}
-
-// 1004px - this matches the current fixed width: 980px + padding: px-3
-.container-lg {
- max-width: $container-lg;
- margin-right: auto;
- margin-left: auto;
-}
-
-// 1280px
-.container-xl {
- max-width: $container-xl;
- margin-right: auto;
- margin-left: auto;
-}
diff --git a/assets/sass/@primer/css/layout/grid-offset.scss b/assets/sass/@primer/css/layout/grid-offset.scss
deleted file mode 100644
index bc2115d..0000000
--- a/assets/sass/@primer/css/layout/grid-offset.scss
+++ /dev/null
@@ -1,19 +0,0 @@
-// Optional offset options to work with grid.scss
-
-// Offset Columns
-
-@each $breakpoint, $variant in $responsive-variants {
- @include breakpoint($breakpoint) {
- .offset#{$variant}-1 { margin-left: (1 / 12 * 100%) !important; }
- .offset#{$variant}-2 { margin-left: (2 / 12 * 100%) !important; }
- .offset#{$variant}-3 { margin-left: (3 / 12 * 100%) !important; }
- .offset#{$variant}-4 { margin-left: (4 / 12 * 100%) !important; }
- .offset#{$variant}-5 { margin-left: (5 / 12 * 100%) !important; }
- .offset#{$variant}-6 { margin-left: (6 / 12 * 100%) !important; }
- .offset#{$variant}-7 { margin-left: (7 / 12 * 100%) !important; }
- .offset#{$variant}-8 { margin-left: (8 / 12 * 100%) !important; }
- .offset#{$variant}-9 { margin-left: (9 / 12 * 100%) !important; }
- .offset#{$variant}-10 { margin-left: (10 / 12 * 100%) !important; }
- .offset#{$variant}-11 { margin-left: (11 / 12 * 100%) !important; }
- }
-}
diff --git a/assets/sass/@primer/css/layout/grid.scss b/assets/sass/@primer/css/layout/grid.scss
deleted file mode 100644
index 5126c6b..0000000
--- a/assets/sass/@primer/css/layout/grid.scss
+++ /dev/null
@@ -1,64 +0,0 @@
-// GRID
-
-// Columns
-.col-1 { width: (1 / 12 * 100%); }
-.col-2 { width: (2 / 12 * 100%); }
-.col-3 { width: (3 / 12 * 100%); }
-.col-4 { width: (4 / 12 * 100%); }
-.col-5 { width: (5 / 12 * 100%); }
-.col-6 { width: (6 / 12 * 100%); }
-.col-7 { width: (7 / 12 * 100%); }
-.col-8 { width: (8 / 12 * 100%); }
-.col-9 { width: (9 / 12 * 100%); }
-.col-10 { width: (10 / 12 * 100%); }
-.col-11 { width: (11 / 12 * 100%); }
-.col-12 { width: 100%; }
-
-@each $breakpoint in map-keys($breakpoints) {
- @include breakpoint($breakpoint) {
- .col-#{$breakpoint}-1 { width: ( 1 / 12 * 100%); }
- .col-#{$breakpoint}-2 { width: ( 2 / 12 * 100%); }
- .col-#{$breakpoint}-3 { width: ( 3 / 12 * 100%); }
- .col-#{$breakpoint}-4 { width: ( 4 / 12 * 100%); }
- .col-#{$breakpoint}-5 { width: ( 5 / 12 * 100%); }
- .col-#{$breakpoint}-6 { width: ( 6 / 12 * 100%); }
- .col-#{$breakpoint}-7 { width: ( 7 / 12 * 100%); }
- .col-#{$breakpoint}-8 { width: ( 8 / 12 * 100%); }
- .col-#{$breakpoint}-9 { width: ( 9 / 12 * 100%); }
- .col-#{$breakpoint}-10 { width: ( 10 / 12 * 100%); }
- .col-#{$breakpoint}-11 { width: ( 11 / 12 * 100%); }
- .col-#{$breakpoint}-12 { width: 100%; }
- }
-}
-
-// Gutters
-// Apply padding and a negative margin to the outside of the container
-@mixin gutters ($gutter-width: $spacer-3) {
- margin-right: -$gutter-width;
- margin-left: -$gutter-width;
-
- > [class*="col-"] {
- padding-right: $gutter-width !important;
- padding-left: $gutter-width !important;
- }
-}
-
-.gutter {
- @include gutters($spacer-3);
-}
-
-.gutter-condensed {
- @include gutters($spacer-2);
-}
-
-.gutter-spacious {
- @include gutters($spacer-4);
-}
-
-@each $breakpoint in map-keys($breakpoints) {
- @include breakpoint($breakpoint) {
- .gutter-#{$breakpoint} { @include gutters($spacer-3); }
- .gutter-#{$breakpoint}-condensed { @include gutters($spacer-2); }
- .gutter-#{$breakpoint}-spacious { @include gutters($spacer-4); }
- }
-}
diff --git a/assets/sass/@primer/css/layout/index.scss b/assets/sass/@primer/css/layout/index.scss
deleted file mode 100644
index 5d1aa33..0000000
--- a/assets/sass/@primer/css/layout/index.scss
+++ /dev/null
@@ -1,4 +0,0 @@
-@import "../support/index.scss";
-@import "./container.scss";
-@import "./grid.scss";
-@import "./grid-offset.scss";
diff --git a/assets/sass/@primer/css/markdown/README.md b/assets/sass/@primer/css/markdown/README.md
deleted file mode 100644
index 6097f4b..0000000
--- a/assets/sass/@primer/css/markdown/README.md
+++ /dev/null
@@ -1,25 +0,0 @@
----
-bundle: "markdown"
-generated: true
----
-
-# Primer CSS: `markdown` bundle
-
-## Usage
-
-Primer CSS source files are written in [SCSS]. To include this Primer CSS module in your own build, ensure that your `node_modules` directory is listed in your Sass include paths, then import it with:
-
-```scss
-@import "@primer/css/markdown/index.scss";
-```
-
-## Build
-
-The `@primer/css` npm package includes a standalone CSS build of this module in `dist/markdown.css`.
-
-## License
-
-[MIT](https://github.com/primer/css/blob/master/LICENSE) © [GitHub](https://github.com/)
-
-
-[scss]: https://sass-lang.com/documentation/syntax#scss
diff --git a/assets/sass/@primer/css/markdown/blob-csv.scss b/assets/sass/@primer/css/markdown/blob-csv.scss
deleted file mode 100644
index e97e447..0000000
--- a/assets/sass/@primer/css/markdown/blob-csv.scss
+++ /dev/null
@@ -1,29 +0,0 @@
-// stylelint-disable selector-max-type
-.markdown-body .csv-data {
- td,
- th {
- // stylelint-disable-next-line primer/spacing
- padding: 5px;
- overflow: hidden;
- font-size: $font-size-small;
- line-height: $lh-condensed-ultra;
- text-align: left;
- white-space: nowrap;
- }
-
- .blob-num {
- // stylelint-disable-next-line primer/spacing
- padding: 10px $spacer-2 9px;
- text-align: right;
- background: $bg-white;
- border: 0;
- }
-
- tr { border-top: 0; }
-
- th {
- font-weight: $font-weight-bold;
- background: $bg-gray;
- border-top: 0;
- }
-}
diff --git a/assets/sass/@primer/css/markdown/code.scss b/assets/sass/@primer/css/markdown/code.scss
deleted file mode 100644
index fbd2d16..0000000
--- a/assets/sass/@primer/css/markdown/code.scss
+++ /dev/null
@@ -1,69 +0,0 @@
-// stylelint-disable selector-max-type
-.markdown-body {
- // Inline code snippets
- code,
- tt {
- // stylelint-disable-next-line primer/spacing
- padding: 0.2em 0.4em;
- margin: 0;
- // stylelint-disable-next-line primer/typography
- font-size: 85%;
- // stylelint-disable-next-line primer/colors
- background-color: rgba($black, 0.05);
- border-radius: $border-radius;
-
- br { display: none; }
- }
-
- del code { text-decoration: inherit; }
-
- pre {
- word-wrap: normal;
-
- // Code tags within code blocks (s)
- > code {
- padding: 0;
- margin: 0;
- // stylelint-disable-next-line primer/typography
- font-size: 100%;
- word-break: normal;
- white-space: pre;
- background: transparent;
- border: 0;
- }
- }
-
- .highlight {
- margin-bottom: $spacer-3;
-
- pre {
- margin-bottom: 0;
- word-break: normal;
- }
- }
-
- .highlight pre,
- pre {
- padding: $spacer-3;
- overflow: auto;
- // stylelint-disable-next-line primer/typography
- font-size: 85%;
- // stylelint-disable-next-line primer/typography
- line-height: 1.45;
- background-color: $bg-gray;
- border-radius: $border-radius;
- }
-
- pre code,
- pre tt {
- display: inline;
- max-width: auto;
- padding: 0;
- margin: 0;
- overflow: visible;
- line-height: inherit;
- word-wrap: normal;
- background-color: transparent;
- border: 0;
- }
-}
diff --git a/assets/sass/@primer/css/markdown/headings.scss b/assets/sass/@primer/css/markdown/headings.scss
deleted file mode 100644
index 26347bb..0000000
--- a/assets/sass/@primer/css/markdown/headings.scss
+++ /dev/null
@@ -1,72 +0,0 @@
-// Needs refactoring
-// stylelint-disable selector-max-compound-selectors, selector-max-specificity
-// stylelint-disable selector-max-type
-.markdown-body {
- // Headings
- h1,
- h2,
- h3,
- h4,
- h5,
- h6 {
- margin-top: $spacer-4;
- margin-bottom: $spacer-3;
- font-weight: $font-weight-bold;
- line-height: $lh-condensed;
-
- .octicon-link {
- color: $text-black;
- vertical-align: middle;
- visibility: hidden;
- }
-
- &:hover .anchor {
- text-decoration: none;
-
- .octicon-link {
- visibility: visible;
- }
- }
-
- tt,
- code {
- font-size: inherit;
- }
- }
-
- h1 {
- // stylelint-disable-next-line primer/spacing
- padding-bottom: 0.3em;
- // stylelint-disable-next-line primer/typography
- font-size: 2em;
- border-bottom: $border-width $border-style $border-gray-light;
- }
-
- h2 {
- // stylelint-disable-next-line primer/spacing
- padding-bottom: 0.3em;
- // stylelint-disable-next-line primer/typography
- font-size: 1.5em;
- border-bottom: $border-width $border-style $border-gray-light;
- }
-
- h3 {
- // stylelint-disable-next-line primer/typography
- font-size: 1.25em;
- }
-
- h4 {
- font-size: 1em;
- }
-
- h5 {
- // stylelint-disable-next-line primer/typography
- font-size: 0.875em;
- }
-
- h6 {
- // stylelint-disable-next-line primer/typography
- font-size: 0.85em;
- color: $text-gray-light;
- }
-}
diff --git a/assets/sass/@primer/css/markdown/images.scss b/assets/sass/@primer/css/markdown/images.scss
deleted file mode 100644
index caea502..0000000
--- a/assets/sass/@primer/css/markdown/images.scss
+++ /dev/null
@@ -1,131 +0,0 @@
-// Need to target base styles
-// stylelint-disable selector-max-compound-selectors, selector-no-qualifying-type
-// stylelint-disable selector-max-type
-.markdown-body {
- // Images & Stuff
- img {
- max-width: 100%;
- // because we put padding on the images to hide header lines, and some people
- // specify the width of their images in their markdown.
- box-sizing: content-box;
- background-color: $bg-white;
-
- &[align=right] {
- // stylelint-disable-next-line primer/spacing
- padding-left: 20px;
- }
-
- &[align=left] {
- // stylelint-disable-next-line primer/spacing
- padding-right: 20px;
- }
- }
-
- .emoji {
- max-width: none;
- vertical-align: text-top;
- // Override `
` styles so Emjois don't clash with zebra striping in our tables
- background-color: transparent;
- }
-
- // Gollum Image Tags
-
- // Framed
- span.frame {
- display: block;
- overflow: hidden;
-
- > span {
- display: block;
- float: left;
- width: auto;
- // stylelint-disable-next-line primer/spacing
- padding: 7px;
- // stylelint-disable-next-line primer/spacing
- margin: 13px 0 0;
- overflow: hidden;
- // stylelint-disable-next-line primer/borders
- border: $border-width $border-style lighten($gray-300, 5%);
- }
-
- span img {
- display: block;
- float: left;
- }
-
- span span {
- display: block;
- // stylelint-disable-next-line primer/spacing
- padding: 5px 0 0;
- clear: both;
- color: $text-gray-dark;
- }
- }
-
- span.align-center {
- display: block;
- overflow: hidden;
- clear: both;
-
- > span {
- display: block;
- // stylelint-disable-next-line primer/spacing
- margin: 13px auto 0;
- overflow: hidden;
- text-align: center;
- }
-
- span img {
- margin: 0 auto;
- text-align: center;
- }
- }
-
- span.align-right {
- display: block;
- overflow: hidden;
- clear: both;
-
- > span {
- display: block;
- // stylelint-disable-next-line primer/spacing
- margin: 13px 0 0;
- overflow: hidden;
- text-align: right;
- }
-
- span img {
- margin: 0;
- text-align: right;
- }
- }
-
- span.float-left {
- display: block;
- float: left;
- // stylelint-disable-next-line primer/spacing
- margin-right: 13px;
- overflow: hidden;
-
- span {
- // stylelint-disable-next-line primer/spacing
- margin: 13px 0 0;
- }
- }
-
- span.float-right {
- display: block;
- float: right;
- // stylelint-disable-next-line primer/spacing
- margin-left: 13px;
- overflow: hidden;
-
- > span {
- display: block;
- // stylelint-disable-next-line primer/spacing
- margin: 13px auto 0;
- overflow: hidden;
- text-align: right;
- }
- }
-}
diff --git a/assets/sass/@primer/css/markdown/index.scss b/assets/sass/@primer/css/markdown/index.scss
deleted file mode 100644
index b2e8d3d..0000000
--- a/assets/sass/@primer/css/markdown/index.scss
+++ /dev/null
@@ -1,8 +0,0 @@
-@import "../support/index.scss";
-@import "./markdown-body.scss";
-@import "./headings.scss";
-@import "./lists.scss";
-@import "./tables.scss";
-@import "./images.scss";
-@import "./code.scss";
-@import "./blob-csv.scss";
diff --git a/assets/sass/@primer/css/markdown/lists.scss b/assets/sass/@primer/css/markdown/lists.scss
deleted file mode 100644
index b680faf..0000000
--- a/assets/sass/@primer/css/markdown/lists.scss
+++ /dev/null
@@ -1,77 +0,0 @@
-// Base styles
-// stylelint-disable selector-no-qualifying-type
-// stylelint-disable selector-max-type
-.markdown-body {
-
- // Lists, Blockquotes & Such
- ul,
- ol {
- // stylelint-disable-next-line primer/spacing
- padding-left: 2em;
-
- &.no-list {
- padding: 0;
- list-style-type: none;
- }
- }
-
- // Did someone complain about list spacing? Encourage them
- // to create the spacing with their markdown formatting.
- // List behavior should be controled by the markup, not the css.
- //
- // For lists with padding between items, use blank
- // lines between items. This will generate paragraphs with
- // padding to space things out.
- //
- // - item
- //
- // - item
- //
- // - item
- //
- // For list without padding, don't use blank lines.
- //
- // - item
- // - item
- // - item
- //
- // Modifying the css to emulate these behaviors merely brakes
- // one case in the process of solving another. Don't change
- // this unless it's really really a bug.
- ul ul,
- ul ol,
- ol ol,
- ol ul {
- margin-top: 0;
- margin-bottom: 0;
- }
-
- li {
- word-wrap: break-all;
- }
-
- li > p {
- margin-top: $spacer-3;
- }
-
- li + li {
- margin-top: $em-spacer-3;
- }
-
- dl {
- padding: 0;
-
- dt {
- padding: 0;
- margin-top: $spacer-3;
- font-size: 1em;
- font-style: italic;
- font-weight: $font-weight-bold;
- }
-
- dd {
- padding: 0 $spacer-3;
- margin-bottom: $spacer-3;
- }
- }
-}
diff --git a/assets/sass/@primer/css/markdown/markdown-body.scss b/assets/sass/@primer/css/markdown/markdown-body.scss
deleted file mode 100644
index 6581f19..0000000
--- a/assets/sass/@primer/css/markdown/markdown-body.scss
+++ /dev/null
@@ -1,99 +0,0 @@
-// All of our block level items should have the same margin
-// stylelint-disable selector-max-type
-
-// This is styling for generic markdownized text. Anything you put in a
-// container with .markdown-body on it should render generally well. It also
-// includes some GitHub Flavored Markdown specific styling (like @mentions)
-.markdown-body {
- font-family: $body-font;
- font-size: $h4-size;
- line-height: $body-line-height;
- word-wrap: break-word;
-
- @import "../base/kbd.scss"; // adds support for keyboard shortcuts
-
- // Clearfix on the markdown body
- &::before {
- display: table;
- content: "";
- }
-
- &::after {
- display: table;
- clear: both;
- content: "";
- }
-
- > *:first-child {
- margin-top: 0 !important;
- }
-
- > *:last-child {
- margin-bottom: 0 !important;
- }
-
- // Anchors like . These sometimes end up wrapped around
- // text when users mistakenly forget to close the tag or use self-closing tag
- // syntax. We don't want them to appear like links.
- // FIXME: a:not(:link):not(:visited) would be a little clearer here (and
- // possibly faster to match), but it breaks styling of elements due
- // to https://bugs.webkit.org/show_bug.cgi?id=142737.
- a:not([href]) {
- color: inherit;
- text-decoration: none;
- }
-
- // Link Colors
- .absent {
- color: $text-red;
- }
-
- .anchor {
- float: left;
- padding-right: $spacer-1;
- // stylelint-disable-next-line primer/spacing
- margin-left: -20px;
- line-height: $lh-condensed-ultra;
-
- &:focus {
- outline: none;
- }
- }
-
- p,
- blockquote,
- ul,
- ol,
- dl,
- table,
- pre,
- details {
- margin-top: 0;
- margin-bottom: $spacer-3;
- }
-
- hr {
- height: $em-spacer-3;
- padding: 0;
- margin: $spacer-4 0;
- // stylelint-disable-next-line primer/colors
- background-color: $gray-200;
- border: 0;
- }
-
- blockquote {
- // stylelint-disable-next-line primer/spacing
- padding: 0 1em;
- color: $text-gray-light;
- // stylelint-disable-next-line primer/borders
- border-left: 0.25em $border-style lighten($gray-300, 5%);
-
- > :first-child {
- margin-top: 0;
- }
-
- > :last-child {
- margin-bottom: 0;
- }
- }
-}
diff --git a/assets/sass/@primer/css/markdown/tables.scss b/assets/sass/@primer/css/markdown/tables.scss
deleted file mode 100644
index 9d73d17..0000000
--- a/assets/sass/@primer/css/markdown/tables.scss
+++ /dev/null
@@ -1,36 +0,0 @@
-// Needs refactoring
-// stylelint-disable selector-max-type
-.markdown-body {
- // Tables
- table {
- display: block;
- width: 100%;
- overflow: auto;
-
- th {
- font-weight: $font-weight-bold;
- }
-
- th,
- td {
- // stylelint-disable-next-line primer/spacing
- padding: 6px 13px;
- // stylelint-disable-next-line primer/borders
- border: $border-width $border-style lighten($gray-300, 5%);
- }
-
- tr {
- background-color: $bg-white;
- // stylelint-disable-next-line primer/borders
- border-top: $border-width $border-style darken($gray-300, 4%);
-
- &:nth-child(2n) {
- background-color: $bg-gray;
- }
- }
-
- img {
- background-color: transparent;
- }
- }
-}
diff --git a/assets/sass/@primer/css/support/README.md b/assets/sass/@primer/css/support/README.md
deleted file mode 100644
index 7fa2b21..0000000
--- a/assets/sass/@primer/css/support/README.md
+++ /dev/null
@@ -1,25 +0,0 @@
----
-bundle: "support"
-generated: true
----
-
-# Primer CSS: `support` bundle
-
-## Usage
-
-Primer CSS source files are written in [SCSS]. To include this Primer CSS module in your own build, ensure that your `node_modules` directory is listed in your Sass include paths, then import it with:
-
-```scss
-@import "@primer/css/support/index.scss";
-```
-
-## Build
-
-The `@primer/css` npm package includes a standalone CSS build of this module in `dist/support.css`.
-
-## License
-
-[MIT](https://github.com/primer/css/blob/master/LICENSE) © [GitHub](https://github.com/)
-
-
-[scss]: https://sass-lang.com/documentation/syntax#scss
diff --git a/assets/sass/@primer/css/support/index.scss b/assets/sass/@primer/css/support/index.scss
deleted file mode 100644
index 93f9449..0000000
--- a/assets/sass/@primer/css/support/index.scss
+++ /dev/null
@@ -1,11 +0,0 @@
-// variables
-@import "./variables/typography.scss";
-@import "./variables/colors.scss";
-@import "./variables/layout.scss";
-@import "./variables/misc.scss";
-
-// mixins
-@import "./mixins/typography.scss";
-@import "./mixins/layout.scss";
-@import "./mixins/buttons.scss";
-@import "./mixins/misc.scss";
diff --git a/assets/sass/@primer/css/support/mixins/buttons.scss b/assets/sass/@primer/css/support/mixins/buttons.scss
deleted file mode 100644
index 4b6cbb3..0000000
--- a/assets/sass/@primer/css/support/mixins/buttons.scss
+++ /dev/null
@@ -1,167 +0,0 @@
-// Button color generator for primary and themed buttons
-
-// New button hotness
-@mixin btn-solid($color, $bg, $bg2) {
- color: $color;
- background-color: $bg2;
- background-image: linear-gradient(-180deg, $bg 0%, $bg2 90%);
-
- @if $bg == $gray-000 {
- &:focus,
- &.focus {
- box-shadow: $btn-input-focus-shadow;
- }
-
- &:hover,
- &.hover {
- background-color: darken($bg2, 3%);
- background-image: linear-gradient(-180deg, darken($bg, 3%) 0%, darken($bg2, 3%) 90%);
- background-position: 0 -$em-spacer-5;
- border-color: rgba($black, 0.35);
- }
-
- &:active,
- &.selected,
- &[aria-selected=true],
- [open] > & {
- background-color: darken(desaturate($bg, 10%), 6%);
- background-image: none;
- border-color: rgba($black, 0.35); // repeat to avoid shift on click-drag off of button
- box-shadow: $btn-active-shadow;
- }
-
- &:disabled,
- &.disabled,
- &[aria-disabled=true] {
- color: rgba($color, 0.4);
- background-color: $bg2;
- background-image: none;
- border-color: $border-color-button;
- box-shadow: none;
- }
-
- }
- @else {
- &:focus,
- &.focus {
- box-shadow: 0 0 0 0.2em rgba($bg, 0.4);
- }
-
- &:hover,
- &.hover {
- background-color: darken($bg2, 2%);
- background-image: linear-gradient(-180deg, darken($bg, 2%) 0%, darken($bg2, 2%) 90%);
- background-position: 0 -$em-spacer-5;
- border-color: $black-fade-50;
- }
-
- &:active,
- &.selected,
- &[aria-selected=true],
- [open] > & {
- background-color: darken(mix($bg, $bg2, 50%), 7%);
- background-image: none;
- border-color: $black-fade-50; // repeat to avoid shift on click-drag off of button
- box-shadow: $btn-active-shadow;
- }
-
- &:disabled,
- &.disabled,
- &[aria-disabled=true] {
- color: rgba($color, 0.75);
- background-color: mix($bg2, $white, 50%);
- background-image: none;
- border-color: $border-color-button;
- box-shadow: none;
- }
-
- .Counter {
- color: darken($bg, 8%);
- background-color: $white;
- }
- }
-}
-
-// Inverse button hover style
-@mixin btn-inverse($color, $bg, $bg2) {
- color: $color;
- background-color: $bg;
- background-image: linear-gradient(-180deg, $bg 0%, $bg2 90%);
-
- &:focus {
- box-shadow: 0 0 0 0.2em rgba($color, 0.4);
- }
-
- &:hover {
- color: $text-white;
- background-color: $color;
- background-image: linear-gradient(-180deg, lighten($color, 10%) 0%, $color 90%);
- border-color: $black-fade-50;
-
- .Counter {
- color: $text-white;
- }
- }
-
- &:active,
- &.selected,
- &[aria-selected=true],
- [open] > & {
- color: $text-white;
- background-color: darken($color, 5%);
- background-image: none;
- border-color: $black-fade-50;
- box-shadow: $btn-active-shadow;
- }
-
- &:disabled,
- &.disabled,
- &[aria-disabled=true] {
- color: rgba($color, 0.4);
- background-color: $bg2;
- background-image: none;
- border-color: $border-color-button;
- box-shadow: none;
- }
-}
-
-// Outline color generator for btn-outline to make the hover state inverse the text and bg colors.
-@mixin btn-outline($text-color: $text-blue, $bg-color: $bg-white) {
- color: $text-color;
- background-color: $bg-color;
- background-image: none;
-
- .Counter {
- background-color: rgba($black, 0.07);
- }
-
- &:hover,
- &:active,
- &.selected,
- &[aria-selected=true],
- [open] > & {
- color: $bg-color;
- background-color: $text-color;
- background-image: none;
- border-color: $text-color;
-
- .Counter {
- color: $text-color;
- background-color: $bg-color;
- }
- }
-
- &:focus {
- border-color: $text-color;
- box-shadow: 0 0 0 0.2em rgba($text-color, 0.4);
- }
-
- &:disabled,
- &.disabled,
- &[aria-disabled=true] {
- color: $black-fade-30;
- background-color: $bg-white;
- border-color: $black-fade-15;
- box-shadow: none;
- }
-}
diff --git a/assets/sass/@primer/css/support/mixins/layout.scss b/assets/sass/@primer/css/support/mixins/layout.scss
deleted file mode 100644
index a6d30cf..0000000
--- a/assets/sass/@primer/css/support/mixins/layout.scss
+++ /dev/null
@@ -1,58 +0,0 @@
-// Responsive media queries
-
-@mixin breakpoint($breakpoint) {
- @if $breakpoint == "" {
- @content;
- }
-
- @else {
- // Retrieves the value from the key
- $value: map-get($breakpoints, $breakpoint);
-
- // If the key exists in the map
- @if $value != null {
- // Prints a media query based on the value
- @media (min-width: $value) {
- @content;
- }
- }
-
- // If the key doesn't exist in the map
- @else {
- @warn "Unfortunately, no value could be retrieved from `#{$breakpoint}`. "
- + "Please make sure it is defined in `$breakpoints` map.";
- }
- }
-}
-
-// Retina media query
-
-@mixin retina-media-query {
- @media
- only screen and (-webkit-min-device-pixel-ratio: 2),
- only screen and (min--moz-device-pixel-ratio: 2),
- only screen and (-moz-min-device-pixel-ratio: 2),
- only screen and (-o-min-device-pixel-ratio: 2/1),
- only screen and (min-device-pixel-ratio: 2),
- only screen and (min-resolution: 192dpi),
- only screen and (min-resolution: 2dppx) {
- @content;
- }
-}
-
-// Clearfix
-//
-// Clears floats via mixin.
-
-@mixin clearfix {
- &::before {
- display: table;
- content: "";
- }
-
- &::after {
- display: table;
- clear: both;
- content: "";
- }
-}
diff --git a/assets/sass/@primer/css/support/mixins/misc.scss b/assets/sass/@primer/css/support/mixins/misc.scss
deleted file mode 100644
index ebdd32d..0000000
--- a/assets/sass/@primer/css/support/mixins/misc.scss
+++ /dev/null
@@ -1,29 +0,0 @@
-// Generate a two-color caret for any element.
-@mixin double-caret($foreground: $text-white, $background: lighten($gray-300, 5%)) {
- &::after,
- &::before {
- position: absolute;
- top: 11px;
- right: 100%;
- left: -16px;
- display: block;
- width: 0;
- height: 0;
- pointer-events: none;
- content: " ";
- border-color: transparent;
- border-style: solid solid outset;
- }
-
- &::after {
- margin-top: 1px;
- margin-left: 2px;
- border-width: 7px;
- border-right-color: $foreground;
- }
-
- &::before {
- border-width: 8px;
- border-right-color: $background;
- }
-}
diff --git a/assets/sass/@primer/css/support/mixins/typography.scss b/assets/sass/@primer/css/support/mixins/typography.scss
deleted file mode 100644
index 23ec0e3..0000000
--- a/assets/sass/@primer/css/support/mixins/typography.scss
+++ /dev/null
@@ -1,84 +0,0 @@
-// Text hiding for image based text replacement.
-// Higher performance than -9999px because it only renders
-// the size of the actual text, not a full 9999px box.
-@mixin hide-text() {
- overflow: hidden;
- text-indent: 100%;
- white-space: nowrap;
-}
-
-// Heading mixins for use within components
-// These match heading utilities in utilities/typography
-@mixin h1 {
- font-size: $h1-size;
- font-weight: $font-weight-bold;
-}
-
-@mixin h2 {
- font-size: $h2-size;
- font-weight: $font-weight-bold;
-}
-
-@mixin h3 {
- font-size: $h3-size;
- font-weight: $font-weight-bold;
-}
-
-@mixin h4 {
- font-size: $h4-size;
- font-weight: $font-weight-bold;
-}
-
-@mixin h5 {
- font-size: $h5-size;
- font-weight: $font-weight-bold;
-}
-
-@mixin h6 {
- font-size: $h6-size;
- font-weight: $font-weight-bold;
-}
-
-// Responsive heading mixins
-// There are no responsive mixins for h4-h6 because they are small
-// and don't need to be smaller on mobile.
-@mixin f1-responsive {
- font-size: $h1-size-mobile;
-
- // 32px on desktop
- @include breakpoint(md) { font-size: $h1-size; }
-
-}
-
-@mixin f2-responsive {
- font-size: $h2-size-mobile;
-
- // 24px on desktop
- @include breakpoint(md) { font-size: $h2-size; }
-}
-
-@mixin f3-responsive {
- font-size: $h3-size-mobile;
-
- // 20px on desktop
- @include breakpoint(md) { font-size: $h3-size; }
-
-}
-
-// These use the mixins from above for responsive heading sizes.
-// The following mixins can be used where it's convenient or necessary to
-// couple the responsive font-size with the font-weight.
-@mixin h1-responsive {
- @include f1-responsive;
- font-weight: $font-weight-bold;
-}
-
-@mixin h2-responsive {
- @include f2-responsive;
- font-weight: $font-weight-bold;
-}
-
-@mixin h3-responsive {
- @include f3-responsive;
- font-weight: $font-weight-bold;
-}
diff --git a/assets/sass/@primer/css/support/variables/color-system.scss b/assets/sass/@primer/css/support/variables/color-system.scss
deleted file mode 100644
index febc58b..0000000
--- a/assets/sass/@primer/css/support/variables/color-system.scss
+++ /dev/null
@@ -1,243 +0,0 @@
-// Black based on same hue as $gray-900
-$black: #1b1f23 !default;
-$white: #fff !default;
-
-//
-//
-// -------- Grays --------
-$gray-000: #fafbfc !default;
-$gray-100: #f6f8fa !default;
-$gray-200: #e1e4e8 !default;
-$gray-300: #d1d5da !default;
-$gray-400: #959da5 !default;
-$gray-500: #6a737d !default;
-$gray-600: #586069 !default;
-$gray-700: #444d56 !default;
-$gray-800: #2f363d !default;
-$gray-900: #24292e !default; // body font color
-
-// -------- Blue --------
-$blue-000: #f1f8ff !default;
-$blue-100: #dbedff !default;
-$blue-200: #c8e1ff !default;
-$blue-300: #79b8ff !default;
-$blue-400: #2188ff !default;
-$blue-500: #0366d6 !default; // Default: Passes AA with #fff
-$blue-600: #005cc5 !default;
-$blue-700: #044289 !default;
-$blue-800: #032f62 !default;
-$blue-900: #05264c !default; // Passes with 1/2/300 blues
-
-// -------- Green --------
-$green-000: #f0fff4 !default;
-$green-100: #dcffe4 !default;
-$green-200: #bef5cb !default;
-$green-300: #85e89d !default;
-$green-400: #34d058 !default;
-$green-500: #28a745 !default; // Default. passes AA Large
-$green-600: #22863a !default; // Text green, passes AA on #fff
-$green-700: #176f2c !default;
-$green-800: #165c26 !default;
-$green-900: #144620 !default;
-
-// -------- Yellow --------
-$yellow-000: #fffdef !default;
-$yellow-100: #fffbdd !default;
-$yellow-200: #fff5b1 !default;
-$yellow-300: #ffea7f !default;
-$yellow-400: #ffdf5d !default;
-$yellow-500: #ffd33d !default;
-$yellow-600: #f9c513 !default;
-$yellow-700: #dbab09 !default;
-$yellow-800: #b08800 !default;
-$yellow-900: #735c0f !default;
-
-// -------- Orange --------
-$orange-000: #fff8f2 !default;
-$orange-100: #ffebda !default;
-$orange-200: #ffd1ac !default;
-$orange-300: #ffab70 !default;
-$orange-400: #fb8532 !default;
-$orange-500: #f66a0a !default; // Default. passes AA Large with #fff
-$orange-600: #e36209 !default;
-$orange-700: #d15704 !default;
-$orange-800: #c24e00 !default;
-$orange-900: #a04100 !default;
-
-// -------- Red --------
-$red-000: #ffeef0 !default;
-$red-100: #ffdce0 !default;
-$red-200: #fdaeb7 !default;
-$red-300: #f97583 !default;
-$red-400: #ea4a5a !default;
-$red-500: #d73a49 !default; // Default. passes AA
-$red-600: #cb2431 !default;
-$red-700: #b31d28 !default;
-$red-800: #9e1c23 !default;
-$red-900: #86181d !default;
-
-// -------- Purple --------
-$purple-000: #f5f0ff !default;
-$purple-100: #e6dcfd !default;
-$purple-200: #d1bcf9 !default;
-$purple-300: #b392f0 !default;
-$purple-400: #8a63d2 !default;
-$purple-500: #6f42c1 !default; // passes AA with #fff
-$purple-600: #5a32a3 !default;
-$purple-700: #4c2889 !default;
-$purple-800: #3a1d6e !default;
-$purple-900: #29134e !default;
-
-// -------- Pink --------
-$pink-000: #ffeef8 !default;
-$pink-100: #fedbf0 !default;
-$pink-200: #f9b3dd !default;
-$pink-300: #f692ce !default;
-$pink-400: #ec6cb9 !default;
-$pink-500: #ea4aaa !default;
-$pink-600: #d03592 !default;
-$pink-700: #b93a86 !default;
-$pink-800: #99306f !default;
-$pink-900: #6d224f !default;
-
-// -------- Fades --------
-$black-fade-15: rgba($black, 0.15) !default;
-$black-fade-30: rgba($black, 0.3) !default;
-$black-fade-50: rgba($black, 0.5) !default;
-$black-fade-70: rgba($black, 0.7) !default;
-$black-fade-85: rgba($black, 0.85) !default;
-
-$white-fade-15: rgba($white, 0.15) !default;
-$white-fade-30: rgba($white, 0.3) !default;
-$white-fade-50: rgba($white, 0.5) !default;
-$white-fade-70: rgba($white, 0.7) !default;
-$white-fade-85: rgba($white, 0.85) !default;
-
-// -------- Color defaults --------
-$red: $red-500 !default;
-$purple: $purple-500 !default;
-$blue: $blue-500 !default;
-$green: $green-500 !default;
-$yellow: $yellow-500 !default;
-$orange: $orange-500 !default;
-
-$gray-dark: $gray-900 !default;
-$gray-light: $gray-400 !default;
-$gray: $gray-500 !default;
-
-// -------- Color gradient maps --------
-
-$grays: (
- 0: $gray-000,
- 1: $gray-100,
- 2: $gray-200,
- 3: $gray-300,
- 4: $gray-400,
- 5: $gray-500,
- 6: $gray-600,
- 7: $gray-700,
- 8: $gray-800,
- 9: $gray-900,
-) !default;
-
-$blues: (
- 0: $blue-000,
- 1: $blue-100,
- 2: $blue-200,
- 3: $blue-300,
- 4: $blue-400,
- 5: $blue-500,
- 6: $blue-600,
- 7: $blue-700,
- 8: $blue-800,
- 9: $blue-900,
-) !default;
-
-$greens: (
- 0: $green-000,
- 1: $green-100,
- 2: $green-200,
- 3: $green-300,
- 4: $green-400,
- 5: $green-500,
- 6: $green-600,
- 7: $green-700,
- 8: $green-800,
- 9: $green-900,
-) !default;
-
-$yellows: (
- 0: $yellow-000,
- 1: $yellow-100,
- 2: $yellow-200,
- 3: $yellow-300,
- 4: $yellow-400,
- 5: $yellow-500,
- 6: $yellow-600,
- 7: $yellow-700,
- 8: $yellow-800,
- 9: $yellow-900,
-) !default;
-
-$oranges: (
- 0: $orange-000,
- 1: $orange-100,
- 2: $orange-200,
- 3: $orange-300,
- 4: $orange-400,
- 5: $orange-500,
- 6: $orange-600,
- 7: $orange-700,
- 8: $orange-800,
- 9: $orange-900,
-) !default;
-
-$reds: (
- 0: $red-000,
- 1: $red-100,
- 2: $red-200,
- 3: $red-300,
- 4: $red-400,
- 5: $red-500,
- 6: $red-600,
- 7: $red-700,
- 8: $red-800,
- 9: $red-900,
-) !default;
-
-$purples: (
- 0: $purple-000,
- 1: $purple-100,
- 2: $purple-200,
- 3: $purple-300,
- 4: $purple-400,
- 5: $purple-500,
- 6: $purple-600,
- 7: $purple-700,
- 8: $purple-800,
- 9: $purple-900,
-) !default;
-
-$pinks: (
- 0: $pink-000,
- 1: $pink-100,
- 2: $pink-200,
- 3: $pink-300,
- 4: $pink-400,
- 5: $pink-500,
- 6: $pink-600,
- 7: $pink-700,
- 8: $pink-800,
- 9: $pink-900,
-) !default;
-
-$hue-maps: (
- "gray": $grays,
- "blue": $blues,
- "green": $greens,
- "yellow": $yellows,
- "orange": $oranges,
- "red": $reds,
- "purple": $purples,
- "pink": $pinks,
-) !default;
diff --git a/assets/sass/@primer/css/support/variables/colors.scss b/assets/sass/@primer/css/support/variables/colors.scss
deleted file mode 100644
index ffbf018..0000000
--- a/assets/sass/@primer/css/support/variables/colors.scss
+++ /dev/null
@@ -1,63 +0,0 @@
-@import "color-system.scss";
-// Color variables
-
-// Border colors
-$border-white: $white !default;
-$border-black-fade: $black-fade-15 !default;
-$border-white-fade: $white-fade-15 !default;
-$border-gray-dark: $gray-300 !default;
-$border-gray-darker: $gray-700 !default;
-$border-gray-light: lighten($gray-200, 3%) !default;
-$border-gray: $gray-200 !default;
-$border-blue: $blue-500 !default;
-$border-blue-light: $blue-200 !default;
-$border-green: $green-400 !default;
-$border-green-light: desaturate($green-300, 40%) !default;
-$border-purple: $purple !default;
-$border-red: $red !default;
-$border-red-light: desaturate($red-300, 60%) !default;
-$border-yellow: desaturate($yellow-300, 60%) !default;
-
-// Buttons have a slightly more opaque border than $border-black-fade (15% alpha)
-$border-color-button: rgba($black, 0.2) !default;
-
-// Background colors
-$bg-white: $white !default;
-$bg-black: $black !default;
-$bg-black-fade: $black-fade-50 !default;
-$bg-blue-light: $blue-000 !default;
-$bg-blue: $blue-500 !default;
-$bg-gray-dark: $gray-900 !default;
-$bg-gray-light: $gray-000 !default;
-$bg-gray: $gray-100 !default;
-$bg-green: $green-500 !default;
-$bg-green-light: $green-100 !default;
-$bg-orange: $orange-700 !default;
-$bg-purple: $purple-500 !default;
-$bg-purple-light: $purple-000 !default;
-$bg-pink: $pink-500 !default;
-$bg-red: $red-500 !default;
-$bg-red-light: $red-100 !default;
-$bg-yellow: $yellow-500 !default;
-$bg-yellow-light: $yellow-200 !default;
-$bg-yellow-dark: $yellow-700 !default;
-
-// diffstat background colors
-$bg-diffstat-added: darken($green-400, 5%) !default;
-$bg-diffstat-deleted: $red-600 !default;
-$bg-diffstat-neutral: $gray-300 !default;
-
-// Text colors
-$text-black: $black !default;
-$text-white: $white !default;
-$text-blue: $blue-500 !default;
-$text-gray-dark: $gray-900 !default;
-$text-gray-light: $gray-500 !default;
-$text-gray: $gray-600 !default;
-$text-green: $green-500 !default;
-$text-orange: $orange-900 !default;
-$text-orange-light: $orange-600 !default;
-$text-purple: $purple !default;
-$text-pink: $pink-500 !default;
-$text-red: $red-600 !default;
-$text-yellow: $yellow-800 !default;
diff --git a/assets/sass/@primer/css/support/variables/layout.scss b/assets/sass/@primer/css/support/variables/layout.scss
deleted file mode 100644
index cec508c..0000000
--- a/assets/sass/@primer/css/support/variables/layout.scss
+++ /dev/null
@@ -1,129 +0,0 @@
-// Layout variables
-
-// these are values for the display CSS property
-$display-values: (
- block,
- flex,
- inline,
- inline-block,
- inline-flex,
- none,
- table,
- table-cell
-) !default;
-
-// maps edges to respective corners for border-radius
-$edges: (
- top: (top-left, top-right),
- right: (top-right, bottom-right),
- bottom: (bottom-right, bottom-left),
- left: (bottom-left, top-left)
-) !default;
-
-// These are our margin and padding utility spacers. The default step size we
-// use is 8px. This gives us a key of:
-// 0 => 0px
-// 1 => 4px
-// 2 => 8px
-// 3 => 16px
-// 4 => 24px
-// 5 => 32px
-// 6 => 40px
-$spacer: 8px !default;
-
-// Our spacing scale
-$spacer-0: 0 !default; // 0
-$spacer-1: round($spacer / 2) !default; // 4px
-$spacer-2: $spacer !default; // 8px
-$spacer-3: $spacer * 2 !default; // 16px
-$spacer-4: $spacer * 3 !default; // 24px
-$spacer-5: $spacer * 4 !default; // 32px
-$spacer-6: $spacer * 5 !default; // 40px
-
-// The list of spacer values
-$spacers: (
- $spacer-0,
- $spacer-1,
- $spacer-2,
- $spacer-3,
- $spacer-4,
- $spacer-5,
- $spacer-6,
-) !default;
-
-// And the map of spacers, for easier looping:
-// @each $scale, $length in $spacer-map { ... }
-$spacer-map: (
- 0: $spacer-0,
- 1: $spacer-1,
- 2: $spacer-2,
- 3: $spacer-3,
- 4: $spacer-4,
- 5: $spacer-5,
- 6: $spacer-6,
-) !default;
-
-// Em spacer variables
-$em-spacer-1: 0.0625em !default; // 1/16
-$em-spacer-2: 0.125em !default; // 1/8
-$em-spacer-3: 0.25em !default; // 1/4
-$em-spacer-4: 0.375em !default; // 3/8
-$em-spacer-5: 0.5em !default; // 1/2
-$em-spacer-6: 0.75em !default; // 3/4
-
-// Fixed-width container variables
-$container-width: 980px !default;
-$grid-gutter: 10px !default;
-
-// Breakpoint widths
-$width-xs: 0 !default;
-// Small screen / phone
-$width-sm: 544px !default;
-// Medium screen / tablet
-$width-md: 768px !default;
-// Large screen / desktop (980 + (16 * 2)) <= container + gutters
-$width-lg: 1012px !default;
-// Extra large screen / wide desktop
-$width-xl: 1280px !default;
-
-// Responsive container widths
-$container-sm: $width-sm !default;
-$container-md: $width-md !default;
-$container-lg: $width-lg !default;
-$container-xl: $width-xl !default;
-
-// Breakpoints in the form (name: length)
-$breakpoints: (
- sm: $width-sm,
- md: $width-md,
- lg: $width-lg,
- xl: $width-xl
-) !default;
-
-// This map in the form (breakpoint: variant) is used to iterate over
-// breakpoints and create both responsive and non-responsive classes in one
-// loop:
-//
-// ```scss
-// @each $breakpoint, $variant of $responsive-variants {
-// @include breakpoint($breakpoint) {
-// .foo#{$variant}-bar { foo: bar !important; }
-// }
-// }
-// ```
-$responsive-variants: (
- "": "",
- sm: "-sm",
- md: "-md",
- lg: "-lg",
- xl: "-xl",
-) !default;
-
-// responive utility position values
-$responsive-positions: (
- static,
- relative,
- absolute,
- fixed,
- sticky
-) !default;
diff --git a/assets/sass/@primer/css/support/variables/misc.scss b/assets/sass/@primer/css/support/variables/misc.scss
deleted file mode 100644
index 30a8363..0000000
--- a/assets/sass/@primer/css/support/variables/misc.scss
+++ /dev/null
@@ -1,26 +0,0 @@
-// Miscellaneous variables
-
-// Border size
-$border-width: 1px !default;
-$border-color: $border-gray !default;
-$border-style: solid !default;
-$border: $border-width $border-color $border-style !default;
-$border-radius: 3px !default;
-
-// Box shadow
-$box-shadow: 0 1px 1px rgba($black, 0.1) !default;
-$box-shadow-medium: 0 1px 5px $black-fade-15 !default;
-$box-shadow-large: 0 1px 15px $black-fade-15 !default;
-$box-shadow-extra-large: 0 10px 50px rgba($black, 0.07) !default;
-
-// Button and form variables
-$form-control-shadow: inset 0 1px 2px rgba($black, 0.075) !default;
-$btn-input-focus-shadow: 0 0 0 0.2em rgba($blue, 0.3) !default;
-$btn-active-shadow: inset 0 0.15em 0.3em $black-fade-15 !default;
-
-// Tooltips
-$tooltip-max-width: 250px !default;
-$tooltip-background-color: $black !default;
-$tooltip-text-color: $white !default;
-$tooltip-delay: 0.4s !default;
-$tooltip-duration: 0.1s !default;
diff --git a/assets/sass/@primer/css/support/variables/typography.scss b/assets/sass/@primer/css/support/variables/typography.scss
deleted file mode 100644
index dcb57a7..0000000
--- a/assets/sass/@primer/css/support/variables/typography.scss
+++ /dev/null
@@ -1,42 +0,0 @@
-// Typography variables
-
-// Heading sizes - mobile
-// h4-h6 remain the same size on both mobile & desktop
-$h00-size-mobile: 40px !default;
-$h0-size-mobile: 32px !default;
-$h1-size-mobile: 26px !default;
-$h2-size-mobile: 22px !default;
-$h3-size-mobile: 18px !default;
-
-// Heading sizes - desktop
-$h00-size: 48px !default;
-$h0-size: 40px !default;
-$h1-size: 32px !default;
-$h2-size: 24px !default;
-$h3-size: 20px !default;
-$h4-size: 16px !default;
-$h5-size: 14px !default;
-$h6-size: 12px !default;
-
-$font-size-small: 12px !default;
-
-// Font weights
-$font-weight-bold: 600 !default;
-$font-weight-semibold: 500 !default;
-$font-weight-normal: 400 !default;
-$font-weight-light: 300 !default;
-
-// Line heights
-$lh-condensed-ultra: 1 !default;
-$lh-condensed: 1.25 !default;
-$lh-default: 1.5 !default;
-
-// Font stacks
-$body-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji" !default;
-
-// Monospace font stack
-$mono-font: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace !default;
-
-// The base body size
-$body-font-size: 14px !default;
-$body-line-height: $lh-default !default;
diff --git a/assets/sass/@primer/css/utilities/README.md b/assets/sass/@primer/css/utilities/README.md
deleted file mode 100644
index 95eade2..0000000
--- a/assets/sass/@primer/css/utilities/README.md
+++ /dev/null
@@ -1,25 +0,0 @@
----
-bundle: "utilities"
-generated: true
----
-
-# Primer CSS: `utilities` bundle
-
-## Usage
-
-Primer CSS source files are written in [SCSS]. To include this Primer CSS module in your own build, ensure that your `node_modules` directory is listed in your Sass include paths, then import it with:
-
-```scss
-@import "@primer/css/utilities/index.scss";
-```
-
-## Build
-
-The `@primer/css` npm package includes a standalone CSS build of this module in `dist/utilities.css`.
-
-## License
-
-[MIT](https://github.com/primer/css/blob/master/LICENSE) © [GitHub](https://github.com/)
-
-
-[scss]: https://sass-lang.com/documentation/syntax#scss
diff --git a/assets/sass/@primer/css/utilities/animations.scss b/assets/sass/@primer/css/utilities/animations.scss
deleted file mode 100644
index bb1422e..0000000
--- a/assets/sass/@primer/css/utilities/animations.scss
+++ /dev/null
@@ -1,183 +0,0 @@
-// This file contains reusable animations for github.
-
-/* Fade in an element */
-.anim-fade-in {
- animation-name: fade-in;
- animation-duration: 1s;
- animation-timing-function: ease-in-out;
-
- &.fast {
- animation-duration: 300ms;
- }
-}
-
-@keyframes fade-in {
- 0% {
- opacity: 0;
- }
-
- 100% {
- opacity: 1;
- }
-}
-
-/* Fade out an element */
-.anim-fade-out {
- animation-name: fade-out;
- animation-duration: 1s;
- animation-timing-function: ease-out;
-
- &.fast {
- animation-duration: 0.3s;
- }
-}
-
-@keyframes fade-out {
- 0% {
- opacity: 1;
- }
-
- 100% {
- opacity: 0;
- }
-}
-
-/* Fade in and slide up an element */
-.anim-fade-up {
- opacity: 0;
- animation-name: fade-up;
- animation-duration: 0.3s;
- animation-fill-mode: forwards;
- animation-timing-function: ease-out;
- animation-delay: 1s;
-}
-
-@keyframes fade-up {
- 0% {
- opacity: 0.8;
- transform: translateY(100%);
- }
-
- 100% {
- opacity: 1;
- transform: translateY(0);
- }
-}
-
-/* Fade an element out and slide down */
-.anim-fade-down {
- animation-name: fade-down;
- animation-duration: 0.3s;
- animation-fill-mode: forwards;
- animation-timing-function: ease-in;
-}
-
-@keyframes fade-down {
- 0% {
- opacity: 1;
- transform: translateY(0);
- }
-
- 100% {
- opacity: 0.5;
- transform: translateY(100%);
- }
-}
-
-/* Grow an element width from 0 to 100% */
-.anim-grow-x {
- width: 0%;
- animation-name: grow-x;
- animation-duration: 0.3s;
- animation-fill-mode: forwards;
- animation-timing-function: ease;
- animation-delay: 0.5s;
-}
-
-@keyframes grow-x {
- to { width: 100%; }
-}
-
-/* Shrink an element from 100% to 0% */
-.anim-shrink-x {
- animation-name: shrink-x;
- animation-duration: 0.3s;
- animation-fill-mode: forwards;
- animation-timing-function: ease-in-out;
- animation-delay: 0.5s;
-}
-
-@keyframes shrink-x {
- to { width: 0%; }
-}
-
-/* Fade in an element and scale it fast */
-.anim-scale-in {
- animation-name: scale-in;
- animation-duration: 0.15s;
- animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5);
-}
-
-@keyframes scale-in {
- 0% {
- opacity: 0;
- transform: scale(0.5);
- }
-
- 100% {
- opacity: 1;
- transform: scale(1);
- }
-}
-
-/* Pulse an element's opacity */
-.anim-pulse {
- animation-name: pulse;
- animation-duration: 2s;
- animation-timing-function: linear;
- animation-iteration-count: infinite;
-}
-
-@keyframes pulse {
- 0% {
- opacity: 0.3;
- }
-
- 10% {
- opacity: 1;
- }
-
- 100% {
- opacity: 0.3;
- }
-}
-
-/* Pulse in an element */
-.anim-pulse-in {
- animation-name: pulse-in;
- animation-duration: 0.5s;
-}
-
-@keyframes pulse-in {
- 0% {
- transform: scale3d(1, 1, 1);
- }
-
- 50% {
- transform: scale3d(1.1, 1.1, 1.1);
- }
-
- 100% {
- transform: scale3d(1, 1, 1);
- }
-}
-
-/* Increase scale of an element on hover */
-.hover-grow {
- transition: transform 0.3s;
- backface-visibility: hidden;
-
- &:hover {
- transform: scale(1.025);
- }
-}
diff --git a/assets/sass/@primer/css/utilities/borders.scss b/assets/sass/@primer/css/utilities/borders.scss
deleted file mode 100644
index d3df5ae..0000000
--- a/assets/sass/@primer/css/utilities/borders.scss
+++ /dev/null
@@ -1,116 +0,0 @@
-// Core border utilities
-// stylelint-disable block-opening-brace-space-before, comment-empty-line-before
-
-/* Add a gray border to the left and right */
-.border-x {
- border-right: $border !important;
- border-left: $border !important;
-}
-
-/* Add a gray border to the top and bottom */
-.border-y {
- border-top: $border !important;
- border-bottom: $border !important;
-}
-
-/* Responsive gray borders */
-@each $breakpoint, $variant in $responsive-variants {
- @include breakpoint($breakpoint) {
- /* Add a gray border on all sides at/above this breakpoint */
- .border#{$variant} { border: $border !important; }
- /* Set the border width to 0 on all sides at/above this breakpoint */
- .border#{$variant}-0 { border: 0 !important; }
-
- /* Add a gray border to the top */
- .border#{$variant}-top { border-top: $border !important; }
- /* Add a gray border to the right */
- .border#{$variant}-right { border-right: $border !important; }
- /* Add a gray border to the bottom */
- .border#{$variant}-bottom { border-bottom: $border !important; }
- /* Add a gray border to the left */
- .border#{$variant}-left { border-left: $border !important; }
-
- /* Remove the top border */
- .border#{$variant}-top-0 { border-top: 0 !important; }
- /* Remove the right border */
- .border#{$variant}-right-0 { border-right: 0 !important; }
- /* Remove the bottom border */
- .border#{$variant}-bottom-0 { border-bottom: 0 !important; }
- /* Remove the left border */
- .border#{$variant}-left-0 { border-left: 0 !important; }
-
- // Rounded corners
- /* Remove the border-radius */
- .rounded#{$variant}-0 { border-radius: 0 !important; }
- /* Add a border-radius to all corners */
- .rounded#{$variant}-1 { border-radius: $border-radius !important; }
- /* Add a 2x border-radius to all corners */
- .rounded#{$variant}-2 { border-radius: $border-radius * 2 !important; }
-
- @each $edge, $corners in $edges {
- .rounded#{$variant}-#{$edge}-0 {
- @each $corner in $corners {
- border-#{$corner}-radius: 0 !important;
- }
- }
-
- .rounded#{$variant}-#{$edge}-1 {
- @each $corner in $corners {
- border-#{$corner}-radius: $border-radius !important;
- }
- }
-
- .rounded#{$variant}-#{$edge}-2 {
- @each $corner in $corners {
- border-#{$corner}-radius: $border-radius * 2 !important;
- }
- }
- }
- }
-}
-
-/* Add a 50% border-radius to make something into a circle */
-.circle { border-radius: 50% !important; }
-
-/* Change the border style to dashed, in conjunction with another utility */
-.border-dashed {
- // stylelint-disable-next-line primer/borders
- border-style: dashed !important;
-}
-
-/* Use with .border to turn the border blue */
-.border-blue { border-color: $border-blue !important; }
-/* Use with .border to turn the border blue-light */
-.border-blue-light { border-color: $border-blue-light !important; }
-/* Use with .border to turn the border green */
-.border-green { border-color: $border-green !important; }
-/* Use with .border to turn the border green light */
-.border-green-light { border-color: $border-green-light !important; }
-/* Use with .border to turn the border red */
-.border-red { border-color: $border-red !important; }
-/* Use with .border to turn the border red-light */
-.border-red-light { border-color: $border-red-light !important; }
-/* Use with .border to turn the border purple */
-.border-purple { border-color: $border-purple !important; }
-/* Use with .border to turn the border yellow */
-.border-yellow { border-color: $border-yellow !important; }
-/* Use with .border to turn the border gray-light */
-.border-gray-light { border-color: $border-gray-light !important; }
-/* Use with .border to turn the border gray-dark */
-.border-gray-dark { border-color: $border-gray-dark !important; }
-
-/* Use with .border to turn the border rgba black 0.15 */
-.border-black-fade { border-color: $border-black-fade !important; }
-/* Use with .border to turn the border rgba white 0.15 */
-.border-white-fade { border-color: $border-white-fade !important; }
-
-/* Use with .border to turn the border white w/varying transparency */
-.border-white-fade-15 { border-color: $border-white-fade !important; }
-// stylelint-disable-next-line primer/borders
-.border-white-fade-30 { border-color: $white-fade-30 !important; }
-// stylelint-disable-next-line primer/borders
-.border-white-fade-50 { border-color: $white-fade-50 !important; }
-// stylelint-disable-next-line primer/borders
-.border-white-fade-70 { border-color: $white-fade-70 !important; }
-// stylelint-disable-next-line primer/borders
-.border-white-fade-85 { border-color: $white-fade-85 !important; }
diff --git a/assets/sass/@primer/css/utilities/box-shadow.scss b/assets/sass/@primer/css/utilities/box-shadow.scss
deleted file mode 100644
index fb5b1d6..0000000
--- a/assets/sass/@primer/css/utilities/box-shadow.scss
+++ /dev/null
@@ -1,25 +0,0 @@
-// Box shadow utilities
-
-// Box shadows
-
-.box-shadow {
- box-shadow: $box-shadow !important;
-}
-
-.box-shadow-medium {
- box-shadow: $box-shadow-medium !important;
-}
-
-.box-shadow-large {
- box-shadow: $box-shadow-large !important;
-}
-
-.box-shadow-extra-large {
- box-shadow: $box-shadow-extra-large !important;
-}
-
-// Turn off box shadow
-
-.box-shadow-none {
- box-shadow: none !important;
-}
diff --git a/assets/sass/@primer/css/utilities/colors.scss b/assets/sass/@primer/css/utilities/colors.scss
deleted file mode 100644
index 0864f8f..0000000
--- a/assets/sass/@primer/css/utilities/colors.scss
+++ /dev/null
@@ -1,115 +0,0 @@
-// Color utilities
-// stylelint-disable block-opening-brace-space-before, comment-empty-line-before
-
-// background colors
-/* Set the background to $bg-white */
-.bg-white { background-color: $bg-white !important; }
-/* Set the background to $bg-blue */
-.bg-blue { background-color: $bg-blue !important; }
-/* Set the background to $bg-blue-light */
-.bg-blue-light { background-color: $bg-blue-light !important; }
-/* Set the background to $bg-gray-dark */
-.bg-gray-dark { background-color: $bg-gray-dark !important; }
-/* Set the background to $bg-gray */
-.bg-gray { background-color: $bg-gray !important; }
-/* Set the background to $bg-gray-light */
-.bg-gray-light { background-color: $bg-gray-light !important; }
-/* Set the background to $bg-green */
-.bg-green { background-color: $bg-green !important; }
-/* Set the background to $bg-green-light */
-.bg-green-light { background-color: $bg-green-light !important; }
-/* Set the background to $bg-red */
-.bg-red { background-color: $bg-red !important; }
-/* Set the background to $bg-red-light */
-.bg-red-light { background-color: $bg-red-light !important; }
-/* Set the background to $bg-yellow */
-.bg-yellow { background-color: $bg-yellow !important; }
-/* Set the background to $bg-yellow-light */
-.bg-yellow-light { background-color: $bg-yellow-light !important; }
-/* Set the background to $bg-yellow-dark */
-.bg-yellow-dark { background-color: $bg-yellow-dark !important; }
-/* Set the background to $bg-purple */
-.bg-purple { background-color: $bg-purple !important; }
-/* Set the background to $bg-pink */
-.bg-pink { background-color: $bg-pink !important; }
-/* Set the background to $bg-purple-light */
-.bg-purple-light { background-color: $bg-purple-light !important; }
-
-// Generate a foreground and background utility for every shade of every hue
-@each $hue, $shades in $hue-maps {
- @each $index, $color in $shades {
- .color-#{$hue}-#{$index} { color: $color !important; }
- .bg-#{$hue}-#{$index} { background-color: $color !important; }
- }
-}
-
-.bg-shade-gradient {
- background-image: linear-gradient(180deg, rgba($black, 0.065), rgba($black, 0)) !important;
- background-repeat: no-repeat !important;
- background-size: 100% 200px !important;
-}
-
-// text colors
-/* Set the text color to $text-blue */
-.text-blue { color: $text-blue !important; }
-/* Set the text color to $text-red */
-.text-red { color: $text-red !important; }
-/* Set the text color to $text-gray-light */
-.text-gray-light { color: $text-gray-light !important; }
-/* Set the text color to $text-gray */
-.text-gray { color: $text-gray !important; }
-/* Set the text color to $text-gray-dark */
-.text-gray-dark { color: $text-gray-dark !important; }
-/* Set the text color to $text-green */
-.text-green { color: $text-green !important; }
-/* Set the text color to $text-yellow */
-.text-yellow { color: $text-yellow !important; }
-/* Set the text color to $text-orange */
-.text-orange { color: $text-orange !important; }
-/* Set the text color to $text-orange-light */
-.text-orange-light { color: $text-orange-light !important; }
-/* Set the text color to $text-purple */
-.text-purple { color: $text-purple !important; }
-/* Set the text color to $text-pink */
-.text-pink { color: $text-pink !important; }
-/* Set the text color to $text-white */
-.text-white { color: $text-white !important; }
-/* Set the text color to inherit */
-.text-inherit { color: inherit !important; }
-
-// Link colors
-// Sets the links color to $text-gray and $text-blue on hover
-.link-gray {
- color: $text-gray !important;
-
- &:hover {
- color: $text-blue !important;
- }
-}
-
-// Sets the links color to $text-gray-dark and $text-blue on hover
-.link-gray-dark {
- color: $text-gray-dark !important;
-
- &:hover {
- color: $text-blue !important;
- }
-}
-
-/* Set the link color to $text-blue on hover
- Useful when you want only part of a link to turn blue on hover */
-.link-hover-blue {
- &:hover {
- color: $text-blue !important;
- }
-}
-
-/* Make a link $text-gray, then $text-blue on hover and removes the underline */
-.muted-link {
- color: $text-gray !important;
-
- &:hover {
- color: $text-blue !important;
- text-decoration: none;
- }
-}
diff --git a/assets/sass/@primer/css/utilities/details.scss b/assets/sass/@primer/css/utilities/details.scss
deleted file mode 100644
index 935bc05..0000000
--- a/assets/sass/@primer/css/utilities/details.scss
+++ /dev/null
@@ -1,28 +0,0 @@
-// stylelint-disable selector-max-type
-
-.details-overlay[open] > summary::before {
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: 80;
- display: block;
- cursor: default;
- content: " ";
- background: transparent;
-}
-
-.details-overlay-dark[open] > summary::before {
- z-index: 99;
- background: $bg-black-fade;
-}
-
-.details-reset {
- // Remove marker added by the display: list-item browser default
- > summary { list-style: none; }
- // Remove marker added by details polyfill
- > summary::before { display: none; }
- // Remove marker added by Chrome
- > summary::-webkit-details-marker { display: none; }
-}
diff --git a/assets/sass/@primer/css/utilities/flexbox.scss b/assets/sass/@primer/css/utilities/flexbox.scss
deleted file mode 100644
index a0cd73a..0000000
--- a/assets/sass/@primer/css/utilities/flexbox.scss
+++ /dev/null
@@ -1,51 +0,0 @@
-// Flex utility classes
-// stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before
-@each $breakpoint, $variant in $responsive-variants {
- @include breakpoint($breakpoint) {
- // Flexbox classes
- // Container
- .flex#{$variant}-row { flex-direction: row !important; }
- .flex#{$variant}-row-reverse { flex-direction: row-reverse !important; }
- .flex#{$variant}-column { flex-direction: column !important; }
- .flex#{$variant}-column-reverse { flex-direction: column-reverse !important; }
-
- .flex#{$variant}-wrap { flex-wrap: wrap !important; }
- .flex#{$variant}-nowrap { flex-wrap: nowrap !important; }
-
- .flex#{$variant}-justify-start { justify-content: flex-start !important; }
- .flex#{$variant}-justify-end { justify-content: flex-end !important; }
- .flex#{$variant}-justify-center { justify-content: center !important; }
- .flex#{$variant}-justify-between { justify-content: space-between !important; }
- .flex#{$variant}-justify-around { justify-content: space-around !important; }
-
- .flex#{$variant}-items-start { align-items: flex-start !important; }
- .flex#{$variant}-items-end { align-items: flex-end !important; }
- .flex#{$variant}-items-center { align-items: center !important; }
- .flex#{$variant}-items-baseline { align-items: baseline !important; }
- .flex#{$variant}-items-stretch { align-items: stretch !important; }
-
- .flex#{$variant}-content-start { align-content: flex-start !important; }
- .flex#{$variant}-content-end { align-content: flex-end !important; }
- .flex#{$variant}-content-center { align-content: center !important; }
- .flex#{$variant}-content-between { align-content: space-between !important; }
- .flex#{$variant}-content-around { align-content: space-around !important; }
- .flex#{$variant}-content-stretch { align-content: stretch !important; }
-
- // Item
- .flex#{$variant}-1 { flex: 1 !important; }
- .flex#{$variant}-auto { flex: auto !important; }
- .flex#{$variant}-grow-0 { flex-grow: 0 !important; }
- .flex#{$variant}-shrink-0 { flex-shrink: 0 !important; }
-
- .flex#{$variant}-self-auto { align-self: auto !important; }
- .flex#{$variant}-self-start { align-self: flex-start !important; }
- .flex#{$variant}-self-end { align-self: flex-end !important; }
- .flex#{$variant}-self-center { align-self: center !important; }
- .flex#{$variant}-self-baseline { align-self: baseline !important; }
- .flex#{$variant}-self-stretch { align-self: stretch !important; }
-
- .flex#{$variant}-order-1 { order: 1 !important; }
- .flex#{$variant}-order-2 { order: 2 !important; }
- .flex#{$variant}-order-none { order: inherit !important; }
- }
-}
diff --git a/assets/sass/@primer/css/utilities/index.scss b/assets/sass/@primer/css/utilities/index.scss
deleted file mode 100644
index 7d68a09..0000000
--- a/assets/sass/@primer/css/utilities/index.scss
+++ /dev/null
@@ -1,14 +0,0 @@
-@import "../support/index.scss";
-// utilities
-@import "./animations.scss";
-@import "./borders.scss";
-@import "./box-shadow.scss";
-@import "./colors.scss";
-@import "./details.scss";
-@import "./flexbox.scss";
-@import "./layout.scss";
-@import "./margin.scss";
-@import "./padding.scss";
-@import "./typography.scss";
-// Visibility and display should always come last in the imports so that they override other utilities with !important
-@import "./visibility-display.scss";
diff --git a/assets/sass/@primer/css/utilities/layout.scss b/assets/sass/@primer/css/utilities/layout.scss
deleted file mode 100644
index 1b4da95..0000000
--- a/assets/sass/@primer/css/utilities/layout.scss
+++ /dev/null
@@ -1,87 +0,0 @@
-// Layout
-// stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before, comment-empty-line-before
-
-// Loop through the breakpoint values
-@each $breakpoint, $variant in $responsive-variants {
- @include breakpoint($breakpoint) {
- @each $position in $responsive-positions {
- .position#{$variant}-#{$position} {
- position: $position !important;
- }
- }
- }
-}
-
-/* Set top 0 */
-.top-0 { top: 0 !important; }
-/* Set right 0 */
-.right-0 { right: 0 !important; }
-/* Set bottom 0 */
-.bottom-0 { bottom: 0 !important; }
-/* Set left 0 */
-.left-0 { left: 0 !important; }
-
-/* Vertical align middle */
-.v-align-middle { vertical-align: middle !important; }
-/* Vertical align top */
-.v-align-top { vertical-align: top !important; }
-/* Vertical align bottom */
-.v-align-bottom { vertical-align: bottom !important; }
-/* Vertical align to the top of the text */
-.v-align-text-top { vertical-align: text-top !important; }
-/* Vertical align to the bottom of the text */
-.v-align-text-bottom { vertical-align: text-bottom !important; }
-/* Vertical align to the parent's baseline */
-.v-align-baseline { vertical-align: baseline !important; }
-
-// Overflow utilities
-@each $overflow in (visible, hidden, auto, scroll) {
- .overflow-#{$overflow} { overflow: $overflow !important; }
- .overflow-x-#{$overflow} { overflow-x: $overflow !important; }
- .overflow-y-#{$overflow} { overflow-y: $overflow !important; }
-}
-
-// Clear floats
-/* Clear floats around the element */
-.clearfix {
- @include clearfix;
-}
-
-// Floats
-@each $breakpoint, $variant in $responsive-variants {
- @include breakpoint($breakpoint) {
- /* Float to the left */
- .float#{$variant}-left { float: left !important; }
- /* Float to the right */
- .float#{$variant}-right { float: right !important; }
- /* No float */
- .float#{$variant}-none { float: none !important; }
- }
-}
-
-// Width and height utilities, helpful in combination
-// with display-table utilities and images
-/* Max width 100% */
-.width-fit { max-width: 100% !important; }
-/* Set the width to 100% */
-.width-full { width: 100% !important; }
-/* Max height 100% */
-.height-fit { max-height: 100% !important; }
-/* Set the height to 100% */
-.height-full { height: 100% !important; }
-
-/* Remove min-width from element */
-.min-width-0 { min-width: 0 !important; }
-
-@each $breakpoint, $variant in $responsive-variants {
- @include breakpoint($breakpoint) {
-
- // Auto varients
- .width#{$variant}-auto { width: auto !important; }
-
- /* Set the direction to rtl */
- .direction#{$variant}-rtl { direction: rtl !important; }
- /* Set the direction to ltr */
- .direction#{$variant}-ltr { direction: ltr !important; }
- }
-}
diff --git a/assets/sass/@primer/css/utilities/margin.scss b/assets/sass/@primer/css/utilities/margin.scss
deleted file mode 100644
index 2212e91..0000000
--- a/assets/sass/@primer/css/utilities/margin.scss
+++ /dev/null
@@ -1,50 +0,0 @@
-// Margin spacer utilities
-// stylelint-disable block-opening-brace-space-before, declaration-colon-space-before, comment-empty-line-before
-
-// Loop through the breakpoint values
-@each $breakpoint, $variant in $responsive-variants {
- @include breakpoint($breakpoint) {
- // Loop through the spacer values
- @each $scale, $size in $spacer-map {
- /* Set a $size margin to all sides at $breakpoint */
- .m#{$variant}-#{$scale} { margin: $size !important; }
- /* Set a $size margin on the top at $breakpoint */
- .mt#{$variant}-#{$scale} { margin-top: $size !important; }
- /* Set a $size margin on the right at $breakpoint */
- .mr#{$variant}-#{$scale} { margin-right: $size !important; }
- /* Set a $size margin on the bottom at $breakpoint */
- .mb#{$variant}-#{$scale} { margin-bottom: $size !important; }
- /* Set a $size margin on the left at $breakpoint */
- .ml#{$variant}-#{$scale} { margin-left: $size !important; }
-
- @if ($size != 0) {
- /* Set a negative $size margin on top at $breakpoint */
- .mt#{$variant}-n#{$scale} { margin-top : -$size !important; }
- /* Set a negative $size margin on the right at $breakpoint */
- .mr#{$variant}-n#{$scale} { margin-right : -$size !important; }
- /* Set a negative $size margin on the bottom at $breakpoint */
- .mb#{$variant}-n#{$scale} { margin-bottom: -$size !important; }
- /* Set a negative $size margin on the left at $breakpoint */
- .ml#{$variant}-n#{$scale} { margin-left : -$size !important; }
- }
-
- /* Set a $size margin on the left & right at $breakpoint */
- .mx#{$variant}-#{$scale} {
- margin-right: $size !important;
- margin-left: $size !important;
- }
-
- /* Set a $size margin on the top & bottom at $breakpoint */
- .my#{$variant}-#{$scale} {
- margin-top: $size !important;
- margin-bottom: $size !important;
- }
- }
-
- /* responsive horizontal auto margins */
- .mx#{$variant}-auto {
- margin-right: auto !important;
- margin-left: auto !important;
- }
- }
-}
diff --git a/assets/sass/@primer/css/utilities/padding.scss b/assets/sass/@primer/css/utilities/padding.scss
deleted file mode 100644
index 9914bb8..0000000
--- a/assets/sass/@primer/css/utilities/padding.scss
+++ /dev/null
@@ -1,49 +0,0 @@
-// Padding spacer utilities
-// stylelint-disable block-opening-brace-space-before, declaration-colon-space-before, comment-empty-line-before
-
-// Responsive padding spacer utilities
-@each $breakpoint, $variant in $responsive-variants {
- @include breakpoint($breakpoint) {
- // Loop through the spacer values
- @each $scale, $size in $spacer-map {
- /* Set a $size padding to all sides at $breakpoint */
- .p#{$variant}-#{$scale} { padding: $size !important; }
- /* Set a $size padding to the top at $breakpoint */
- .pt#{$variant}-#{$scale} { padding-top: $size !important; }
- /* Set a $size padding to the right at $breakpoint */
- .pr#{$variant}-#{$scale} { padding-right: $size !important; }
- /* Set a $size padding to the bottom at $breakpoint */
- .pb#{$variant}-#{$scale} { padding-bottom: $size !important; }
- /* Set a $size padding to the left at $breakpoint */
- .pl#{$variant}-#{$scale} { padding-left: $size !important; }
-
- /* Set a $size padding to the left & right at $breakpoint */
- .px#{$variant}-#{$scale} {
- padding-right: $size !important;
- padding-left: $size !important;
- }
-
- /* Set a $size padding to the top & bottom at $breakpoint */
- .py#{$variant}-#{$scale} {
- padding-top: $size !important;
- padding-bottom: $size !important;
- }
- }
- }
-}
-
-// responsive padding for containers
-.p-responsive {
- padding-right: $spacer-3 !important;
- padding-left: $spacer-3 !important;
-
- @include breakpoint(sm) {
- padding-right: $spacer-6 !important;
- padding-left: $spacer-6 !important;
- }
-
- @include breakpoint(lg) {
- padding-right: $spacer-3 !important;
- padding-left: $spacer-3 !important;
- }
-}
diff --git a/assets/sass/@primer/css/utilities/typography.scss b/assets/sass/@primer/css/utilities/typography.scss
deleted file mode 100644
index f790a71..0000000
--- a/assets/sass/@primer/css/utilities/typography.scss
+++ /dev/null
@@ -1,255 +0,0 @@
-// stylelint-disable block-closing-brace-space-before, comment-empty-line-before
-
-// Type scale variables found in ../support/lib/variables.scss
-// $h00-size-mobile: 40px;
-// $h0-size-mobile: 32px;
-// $h1-size-mobile: 26px;
-// $h2-size-mobile: 22px;
-// $h3-size-mobile: 18px;
-// $h00-size: 48px;
-// $h0-size: 40px;
-// $h1-size: 32px;
-// $h2-size: 24px;
-// $h3-size: 20px;
-// $h4-size: 16px;
-// $h5-size: 14px;
-// $h6-size: 12px;
-
-/* Set the font size to 26px */
-.h1 {
- // stylelint-disable-next-line primer/typography
- font-size: $h1-size-mobile !important;
-
- @include breakpoint(md) { font-size: $h1-size !important; }
-}
-
-/* Set the font size to 22px */
-.h2 {
- // stylelint-disable-next-line primer/typography
- font-size: $h2-size-mobile !important;
-
- @include breakpoint(md) { font-size: $h2-size !important; }
-}
-
-/* Set the font size to 18px */
-.h3 {
- // stylelint-disable-next-line primer/typography
- font-size: $h3-size-mobile !important;
-
- @include breakpoint(md) { font-size: $h3-size !important; }
-}
-
-/* Set the font size to #{$h4-size} */
-.h4 {
- font-size: $h4-size !important;
-}
-
-/* Set the font size to #{$h5-size} */
-.h5 { font-size: $h5-size !important; }
-
-// Does not include color property like typography base
-// styles, color should be applied with color utilities.
-/* Set the font size to #{$h6-size} */
-.h6 { font-size: $h6-size !important; }
-
-// Heading utilities
-.h1,
-.h2,
-.h3,
-.h4,
-.h5,
-.h6 { font-weight: $font-weight-bold !important; }
-
-// Type utilities that match type sale
-/* Set the font size to 26px */
-.f1 {
- // stylelint-disable-next-line primer/typography
- font-size: $h1-size-mobile !important;
-
- @include breakpoint(md) { font-size: $h1-size !important; }
-}
-
-/* Set the font size to 22px */
-.f2 {
- // stylelint-disable-next-line primer/typography
- font-size: $h2-size-mobile !important;
-
- @include breakpoint(md) { font-size: $h2-size !important; }
-}
-
-/* Set the font size to 18px */
-.f3 {
- // stylelint-disable-next-line primer/typography
- font-size: $h3-size-mobile !important;
-
- @include breakpoint(md) { font-size: $h3-size !important; }
-}
-
-/* Set the font size to #{$h4-size} */
-.f4 {
- font-size: $h4-size !important;
-
- @include breakpoint(md) { font-size: $h4-size !important; }
-}
-
-/* Set the font size to #{$h5-size} */
-.f5 { font-size: $h5-size !important; }
-/* Set the font size to #{$h6-size} */
-.f6 { font-size: $h6-size !important; }
-
-// Type utils with light weight that match type scale
-/* Set the font size to 40px and weight to light */
-.f00-light {
- // stylelint-disable-next-line primer/typography
- font-size: $h00-size-mobile !important;
- font-weight: $font-weight-light !important;
-
- @include breakpoint(md) { font-size: $h00-size !important; }
-}
-
-/* Set the font size to 32px and weight to light */
-.f0-light {
- // stylelint-disable-next-line primer/typography
- font-size: $h0-size-mobile !important;
- font-weight: $font-weight-light !important;
-
- @include breakpoint(md) { font-size: $h0-size !important; }
-}
-
-/* Set the font size to 26px and weight to light */
-.f1-light {
- // stylelint-disable-next-line primer/typography
- font-size: $h1-size-mobile !important;
- font-weight: $font-weight-light !important;
-
- @include breakpoint(md) { font-size: $h1-size !important; }
-}
-
-/* Set the font size to 22px and weight to light */
-.f2-light {
- // stylelint-disable-next-line primer/typography
- font-size: $h2-size-mobile !important;
- font-weight: $font-weight-light !important;
-
- @include breakpoint(md) { font-size: $h2-size !important; }
-}
-
-// Same size and weight as .lead but without color property
-/* Set the font size to 18px and weight to light */
-.f3-light {
- // stylelint-disable-next-line primer/typography
- font-size: $h3-size-mobile !important;
- font-weight: $font-weight-light !important;
-
- @include breakpoint(md) { font-size: $h3-size !important; }
-}
-
-// Smallest text size
-/* Set the font size to ${#h6-size} */
-.text-small { font-size: $h6-size !important; } // 12px
-
-/* Large leading paragraphs */
-.lead {
- // stylelint-disable-next-line primer/spacing
- margin-bottom: 30px;
- font-size: $h3-size;
- font-weight: $font-weight-light;
- color: $text-gray;
-}
-
-// Line-height variations
-// Close to commonly used line-heights. Most line-heights
-// combined with type size equate to whole pixels.
-// Will be improved with future typography scale updates.
-// Responsive line-height
-@each $breakpoint, $variant in $responsive-variants {
- @include breakpoint($breakpoint) {
- /* Set the line height to ultra condensed */
- .lh#{$variant}-condensed-ultra { line-height: $lh-condensed-ultra !important; }
- /* Set the line height to condensed */
- .lh#{$variant}-condensed { line-height: $lh-condensed !important; }
- /* Set the line height to default */
- .lh#{$variant}-default { line-height: $lh-default !important; }
- /* Set the line height to zero */
- .lh#{$variant}-0 { line-height: 0 !important; }
- }
-}
-
-// Text alignments
-// Responsive text alignment
-@each $breakpoint, $variant in $responsive-variants {
- @include breakpoint($breakpoint) {
- /* Text align to the right */
- .text#{$variant}-right { text-align: right !important; }
- /* Text align to the left */
- .text#{$variant}-left { text-align: left !important; }
- /* Text align to the center */
- .text#{$variant}-center { text-align: center !important; }
- }
-}
-
-// Text styles
-/* Set the font weight to normal */
-.text-normal { font-weight: $font-weight-normal !important; }
-/* Set the font weight to bold */
-.text-bold { font-weight: $font-weight-bold !important;}
-/* Set the font to italic */
-.text-italic { font-style: italic !important; }
-/* Make text uppercase */
-.text-uppercase { text-transform: uppercase !important; }
-/* Underline text */
-.text-underline { text-decoration: underline !important; }
-/* Don't underline text */
-.no-underline { text-decoration: none !important; }
-/* Don't wrap white space */
-.no-wrap { white-space: nowrap !important; }
-/* Normal white space */
-.ws-normal { white-space: normal !important; }
-
-/* Force long "words" to wrap if they exceed the width of the container */
-.break-word {
- word-break: break-word !important;
- // this is for backwards compatibility with browsers that don't respect overflow-wrap
- word-wrap: break-word !important;
- overflow-wrap: break-word !important;
-}
-
-/*
- * Specifically apply word-break: break-all; per MDN:
- *
- * > Note: In contrast to `word-break: break-word` and `overflow-wrap: break-word`,
- * > `word-break: break-all` will create a break at the exact place where text would
- * > otherwise overflow its container (even if putting an entire word on its own line
- * > would negate the need for a break).
- *
- * see: https://developer.mozilla.org/en-US/docs/Web/CSS/word-break#Values
- */
-.wb-break-all { word-break: break-all !important; }
-
-.text-emphasized {
- font-weight: $font-weight-bold;
- color: $text-gray-dark;
-}
-
-// List styles
-.list-style-none { list-style: none !important; }
-
-// Text Shadows
-/* Add a dark text shadow */
-.text-shadow-dark {
- text-shadow: 0 1px 1px rgba($black, 0.25), 0 1px 25px rgba($black, 0.75);
-}
-/* Add a light text shadow */
-.text-shadow-light {
- text-shadow: 0 1px 0 rgba($white, 0.5);
-}
-
-/* Set to monospace font */
-.text-mono {
- font-family: $mono-font !important;
-}
-
-/* Disallow user from selecting text */
-.user-select-none {
- user-select: none !important;
-}
diff --git a/assets/sass/@primer/css/utilities/visibility-display.scss b/assets/sass/@primer/css/utilities/visibility-display.scss
deleted file mode 100644
index 61c6f5f..0000000
--- a/assets/sass/@primer/css/utilities/visibility-display.scss
+++ /dev/null
@@ -1,74 +0,0 @@
-// Visibility and display utilities
-
-// Responsive display utilities
-@each $breakpoint, $variant in $responsive-variants {
- @include breakpoint($breakpoint) {
- @each $display in $display-values {
- .d#{$variant}-#{$display} { display: $display !important; }
- }
- }
-}
-
-.v-hidden { visibility: hidden !important; }
-.v-visible { visibility: visible !important; }
-
-// Hide utilities for each breakpoint
-// Each hide utility only applies to one breakpoint range.
-@media (max-width: $width-sm - 1px) {
- .hide-sm {
- display: none !important;
- }
-}
-
-@media (min-width: $width-sm) and (max-width: $width-md - 1px) {
- .hide-md {
- display: none !important;
- }
-}
-
-@media (min-width: $width-md) and (max-width: $width-lg - 1px) {
- .hide-lg {
- display: none !important;
- }
-}
-
-@media (min-width: $width-lg) {
- .hide-xl {
- display: none !important;
- }
-}
-
-/* Set the table-layout to fixed */
-.table-fixed { table-layout: fixed !important; }
-
-// Only display content to screen readers
-//
-// See: http://a11yproject.com/posts/how-to-hide-content/
-.sr-only {
- position: absolute;
- width: 1px;
- height: 1px;
- padding: 0;
- overflow: hidden;
- clip: rect(0, 0, 0, 0);
- // Workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=1241631
- word-wrap: normal;
- border: 0;
-}
-
-// Only display content on focus
-.show-on-focus {
- position: absolute;
- width: 1px;
- height: 1px;
- margin: 0;
- overflow: hidden;
- clip: rect(1px, 1px, 1px, 1px);
-
- &:focus {
- z-index: 20;
- width: auto;
- height: auto;
- clip: auto;
- }
-}
diff --git a/assets/sass/_class.scss b/assets/sass/_class.scss
deleted file mode 100644
index aebda05..0000000
--- a/assets/sass/_class.scss
+++ /dev/null
@@ -1,88 +0,0 @@
-body {
- a {
- color: $color-primary;
- }
-
- a:hover {
- color: $color-secondary;
- text-decoration: none;
- }
-
- background-color: $color-bg;
-}
-
-// main title style
-.main-title {
- font-family: 'Product Sans', -apple-system, BlinkMacSystemFont, Arial, monospace;
- font-weight: 700;
- font-size: $font-size-logo;
- white-space: nowrap;
- display: block;
-}
-
-.link-alter {
- a {
- color: $color-secondary;
- }
-
- a:hover {
- color: $color-primary-dark;
- text-decoration: none;
- }
-}
-
-.markdown-body {
- a {
- color: $color-secondary;
- }
-
- a:hover {
- color: $color-primary-dark;
- text-decoration: none;
- }
-
- h1,
- h2,
- h3,
- h4,
- h5,
- h6 {
- color: $color-primary;
- }
-
- h1 {
- font-size: $font-size-l1;
- border-bottom: $spliter;
- margin-top: 1.5rem;
- }
-
- h2 {
- font-size: $font-size-l2;
- border-bottom: $spliter;
- margin-top: 1.25rem;
- }
-
- h3 {
- font-size: $font-size-l3;
- margin-top: 1.025rem;
- }
-
- h4,
- h5,
- h6 {
- font-size: $font-size-l4;
- }
-
- hr {
- background-color: $color-spliter;
- }
-
- ul {
- list-style-type: circle;
- }
-
- img {
- border: 2px solid $color-secondary;
- border-radius: 2px;
- }
-}
\ No newline at end of file
diff --git a/assets/sass/_primer.scss b/assets/sass/_primer.scss
deleted file mode 100644
index de96f52..0000000
--- a/assets/sass/_primer.scss
+++ /dev/null
@@ -1,13 +0,0 @@
-// @primer/css/support/variables/layout.scss
-// fixed-width container variables
-$container-width: 900px !default;
-// large screen / desktop (900 + (16 * 2)) <= container + gutters
-$width-lg: 932px !default;
-
-// @primer/css/support/variables/typography.scss
-// font stacks
-$body-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", "Helvetica", "Arial", "PingFang SC", "Hiragino Sans GB", "Source Han Sans CN", "Source Han Sans SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif !default;
-// monospace font stack
-$mono-font: "Cascadia Code", "SF Mono", "Fira Code", "Consolas", $body-font !default;
-// the base text size
-$body-font-size: $font-size-l4 !default;
\ No newline at end of file
diff --git a/assets/sass/_var.scss b/assets/sass/_var.scss
deleted file mode 100644
index 4b2a3e8..0000000
--- a/assets/sass/_var.scss
+++ /dev/null
@@ -1,36 +0,0 @@
-// colors
-$color-primary: #8AA2D3 !default; // https://irocore.com/aofuji/
-$color-primary-dark: #3B469B !default; // https://irocore.com/aomurasaki/
-$color-secondary: #8F82BC !default; // https://irocore.com/fujimurasaki/
-$color-mute: #9EA1A3 !default; // https://irocore.com/suzu-iro/
-$color-spliter: #E5E2E4 !default; // https://irocore.com/komachinezu/
-$color-bg: #FFFFFD !default; // https://irocore.com/shiro/
-
-// font size list
-$font-size-logo: 2.5rem !default; // Logo Only
-$font-size-l1: 1.75rem !default; // Primer CSS H1
-$font-size-l2: 1.5rem !default; // Primer CSS H2
-$font-size-l3: 1.25rem !default; // Primer CSS H3
-$font-size-l4: 1rem !default; // Primer CSS H4 & Normal Text
-
-// divider css
-$spliter: 2px solid $color-spliter !default;
-
-@font-face {
- font-family: "Product Sans";
- font-style: normal;
- font-weight: 700;
- font-display: swap;
- src: local("Product Sans Bold"), local("ProductSans-Bold"),
- url("https://cdn.jsdelivr.net/gh/amzrk2/web-font-archive@1.3.1/product-sans/product-sans-bold.woff2") format("woff2");
- unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
-}
-
-@font-face {
- font-family: "Cascadia Code";
- font-style: normal;
- font-weight: 400;
- font-display: swap;
- src: local("Cascadia Code Regular"), local("Cascadia Mono Regular"),
- url("https://cdn.jsdelivr.net/gh/amzrk2/web-font-archive@1.3.0/cascadia-code/cascadia.woff2") format("woff2");
-}
\ No newline at end of file
diff --git a/assets/sass/custom.scss b/assets/sass/custom.scss
deleted file mode 100644
index 5fbfdcd..0000000
--- a/assets/sass/custom.scss
+++ /dev/null
@@ -1 +0,0 @@
-// to be covered by exampleSite/assets/sass/custom.sass
diff --git a/assets/sass/main.scss b/assets/sass/main.scss
deleted file mode 100644
index 95154d0..0000000
--- a/assets/sass/main.scss
+++ /dev/null
@@ -1,24 +0,0 @@
-// custom variables
-@import "custom";
-// variables
-@import "_var";
-
-// cover primer variables
-@import "_primer.scss";
-// include only used part of @primer/css/core
-@import "@primer/css/base/index.scss";
-@import "@primer/css/layout/index.scss";
-@import "@primer/css/markdown/index.scss";
-// utilities always go last so that they can override components
-@import "@primer/css/utilities/index.scss";
-
-// global classes
-@import "_class";
-
-@import "modules/_header";
-@import "modules/_content";
-@import "modules/_archive";
-@import "modules/_sidebar";
-@import "modules/_component";
-@import "modules/_footer";
-@import "modules/_pagination";
\ No newline at end of file
diff --git a/assets/sass/modules/_archive.scss b/assets/sass/modules/_archive.scss
deleted file mode 100644
index 8a9a92b..0000000
--- a/assets/sass/modules/_archive.scss
+++ /dev/null
@@ -1,39 +0,0 @@
-.post-archive {
- &:not(:last-child) {
- padding: 0.5rem 0;
- }
-
- &:last-child {
- padding: 0.5rem 0 1rem 0;
- }
-}
-
-.post-archive+.post-archive {
- border-top: $spliter;
-}
-
-.post-title-archive {
- font-size: $font-size-l2;
-}
-
-.post-meta-archive {
- color: $color-mute;
- padding: 0 0.1rem;
- white-space: nowrap;
- overflow-x: scroll;
-
- time {
- padding-right: 1rem;
- }
-
- span:not(:last-child) {
- display: none;
- }
-
- &::-webkit-scrollbar {
- display: none; // WebKit
- }
-
- scrollbar-width: none; // Firefox
- -ms-overflow-style: none; // Microsoft
-}
\ No newline at end of file
diff --git a/assets/sass/modules/_component.scss b/assets/sass/modules/_component.scss
deleted file mode 100644
index 9e64add..0000000
--- a/assets/sass/modules/_component.scss
+++ /dev/null
@@ -1,28 +0,0 @@
-#aplayer {
- font-family: inherit;
-}
-
-#scroll-top {
- cursor: pointer;
- position: fixed;
- width: 2.5rem;
- height: 2.5rem;
- right: 1rem;
- bottom: 1rem;
- color: $color-primary;
- background-color: $color-spliter;
- border-radius: 100%;
- line-height: 2.5rem;
- text-align: center;
- vertical-align: middle;
- display: inline-block;
-
- &:hover {
- color: $color-secondary;
- }
-
- i {
- font-size: 1.5rem;
- line-height: inherit;
- }
-}
\ No newline at end of file
diff --git a/assets/sass/modules/_content.scss b/assets/sass/modules/_content.scss
deleted file mode 100644
index 63cdc47..0000000
--- a/assets/sass/modules/_content.scss
+++ /dev/null
@@ -1,95 +0,0 @@
-#content {
- padding: 0 1rem;
-
- // different padding when screen size below width-md(768px)
- @media screen and (max-width: $width-md) {
- padding: 0 1.5rem;
- }
-}
-
-article {
- padding-top: 1.25rem;
- padding-bottom: 1.5rem;
-}
-
-.post {
- padding: 1.25rem 0 1.5rem 0;
-}
-
-.post+.post {
- border-top: $spliter;
-}
-
-.post-title {
- font-size: $font-size-l1;
-}
-
-.post-meta {
- color: $color-mute;
- padding: 0.5rem 0.1rem 1.25rem 0.1rem;
- white-space: nowrap;
- overflow-x: scroll;
-
- time,
- span:not(:last-child) {
- padding-right: 1rem;
- }
-
- &::-webkit-scrollbar {
- display: none; // WebKit
- }
-
- scrollbar-width: none; // Firefox
- -ms-overflow-style: none; // Microsoft
-}
-
-.post-summary {
-
- h1,
- h2,
- h3,
- h4,
- h5,
- h6 {
- display: none;
- }
-}
-
-#post-aplayer {
- font-family: inherit;
- margin: 0 0.1rem 1.5rem 0.1rem;
-}
-
-.license {
- margin-bottom: 1.5rem;
-}
-
-.post-loading {
- border-top: $spliter;
- margin: 0 0 1.5rem 0;
- padding-top: 1.5rem;
- text-align: center;
-
- i {
- font-size: 1.5rem;
- color: $color-primary;
- }
-
- p {
- margin: 0.5rem 0 0 0;
- }
-}
-
-.post-comment .utterances-frame {
- border-top: $spliter;
-}
-
-.post-comment #disqus_thread {
- border-top: $spliter;
-}
-
-.page-info {
- padding: 1rem 0;
- font-size: $font-size-l3;
- border-bottom: $spliter;
-}
\ No newline at end of file
diff --git a/assets/sass/modules/_footer.scss b/assets/sass/modules/_footer.scss
deleted file mode 100644
index 1d106dd..0000000
--- a/assets/sass/modules/_footer.scss
+++ /dev/null
@@ -1,8 +0,0 @@
-footer {
- border-top: $spliter;
- margin-top: auto;
-
- p {
- margin: 2rem 0;
- }
-}
\ No newline at end of file
diff --git a/assets/sass/modules/_header.scss b/assets/sass/modules/_header.scss
deleted file mode 100644
index b204921..0000000
--- a/assets/sass/modules/_header.scss
+++ /dev/null
@@ -1,18 +0,0 @@
-header {
- &>div {
- padding: 2rem 1rem;
-
- // different padding when screen size below width-md(768px)
- @media screen and (max-width: $width-md) {
- padding: 2rem 1.5rem;
- }
- }
-
- .sub-title {
- font-size: $font-size-l3;
- display: block;
- color: $color-mute;
- }
-
- border-bottom: $spliter;
-}
\ No newline at end of file
diff --git a/assets/sass/modules/_pagination.scss b/assets/sass/modules/_pagination.scss
deleted file mode 100644
index e2e9fbf..0000000
--- a/assets/sass/modules/_pagination.scss
+++ /dev/null
@@ -1,28 +0,0 @@
-.pagination {
- text-align: center;
- // spliter between pagination and last post block
- border-top: $spliter;
- padding: 1rem 0;
-
- li {
- display: inline;
-
- &.pag-item {
- padding: 0 0.25rem;
-
- a {
- vertical-align: middle;
- }
- }
-
- // darker number when active
- &.pag-current a {
- color: $color-secondary;
- }
- }
-
- i {
- padding: 0 0.25rem;
- vertical-align: middle;
- }
-}
\ No newline at end of file
diff --git a/assets/sass/modules/_sidebar.scss b/assets/sass/modules/_sidebar.scss
deleted file mode 100644
index 14d2dff..0000000
--- a/assets/sass/modules/_sidebar.scss
+++ /dev/null
@@ -1,42 +0,0 @@
-#sidebar {
- padding: 1.5rem 1rem;
-
- // different padding when screen size below width-md(768px)
- @media screen and (max-width: $width-md) {
- border-top: $spliter;
- padding: 1.5rem;
- }
-
- ul {
- list-style-type: none;
-
- ul {
- margin: 0 0.5rem;
- font-size: 0.875rem;
- }
- }
-
- h5 {
- font-size: $font-size-l3;
- margin-bottom: 0.25rem;
-
- &~div,
- &~ul,
- &~nav {
- margin: 0 0.1rem 1rem 0.1rem;
- }
-
- &~img {
- margin: 0 0.25rem;
- padding: 0.25rem 0;
- color: $color-secondary;
- width: 100%;
- border-radius: 2px;
- filter: grayscale(50%);
-
- @media screen and (max-width: $width-md) {
- width: 50%;
- }
- }
- }
-}
\ No newline at end of file
--
cgit v1.2.3