diff --git a/MANIFEST.in b/MANIFEST.in index d38625c..a47ad68 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -18,3 +18,5 @@ include README.md include sphinx_design/py.typed include sphinx_design/compiled/style.min.css +include sphinx_design/compiled/opticon_LICENSE +include sphinx_design/compiled/opticons.json diff --git a/README.md b/README.md index 676b3a5..92e2663 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,11 @@ This package is an iteration on sphinx-panels and intends to replace it. ## TODO +note that directly using classes should be used as a "last resort", +and to please open an issue if you find you are commonly using a certain class. + +grids items cannot contain headers, is this in anyway possible with docutils structure? + - directives: - dropdowns (optional), dropdown - tabs (optional), tab @@ -58,3 +63,5 @@ horizontal card (grid row inside card, picture on left) avatars (rounded images) horizontally scrollable cards: (see ) + +align icon and text in dropdown title diff --git a/docs/index.md b/docs/index.md index 3d96ff2..de5ef11 100644 --- a/docs/index.md +++ b/docs/index.md @@ -106,6 +106,64 @@ next paragraph 1 :::: +### Nested grids + +::::::{grid} +:columns: 1 1 2 2 +:gutter: 1 + +:::::{grid-item} + +::::{grid} +:columns: 1 1 1 1 +:gutter: 1 + +:::{grid-item-card} + +{{ loremipsum }} + +::: + +:::{grid-item-card} + +B + +::: + +:::: + +::::: + +:::::{grid-item} + +::::{grid} +:columns: 1 1 1 1 +:gutter: 1 + +:::{grid-item-card} + +C + +::: + +:::{grid-item-card} + +D + +::: + +:::{grid-item-card} + +E + +::: + +:::: + +::::: + +:::::: + (badges)= ## Badges @@ -167,3 +225,50 @@ Button text ``` ::: + +## Dropdown + +:::{dropdown} Dropdown title +Dropdown content +::: + +:::{dropdown} +Dropdown content +::: + +::::{dropdown} Parent dropdown title (open by default) +:open: + +:::{dropdown} Child dropdown title +:color: warning +:icon: alert + +Dropdown content +::: +:::: + +### Dropdowns in a grid + +:::::{grid} +:columns: 1 1 2 2 +:gutter: 1 + +::::{grid-item} +:::{dropdown} Dropdown title +Dropdown content +::: +:::: + +::::{grid-item} +:::{dropdown} Dropdown title +Dropdown content +::: +:::: + +::::: + +## Icons + +Some {opticon-16}`report;sd-text-info` middle {opticon-24}`report` more text + +{fas}`spinner;sd-bg-primary sd-bg-text-primary fa-2x` diff --git a/sphinx_design/cards.py b/sphinx_design/cards.py index e41d0c0..8bf7d66 100644 --- a/sphinx_design/cards.py +++ b/sphinx_design/cards.py @@ -65,8 +65,7 @@ def create_card( card_classes = ["sd-card", "sd-sphinx-override"] if "width" in options: card_classes += [f'sd-w-{options["width"]}'] - if "margin" in options: - card_classes += options["margin"] + card_classes += options.get("margin", ["sd-mb-3"]) if "no-shadow" not in options: card_classes += ["sd-shadow"] if "hover" in options: diff --git a/sphinx_design/compiled/opticon_LICENSE b/sphinx_design/compiled/opticon_LICENSE new file mode 100644 index 0000000..af732f0 --- /dev/null +++ b/sphinx_design/compiled/opticon_LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 GitHub Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/sphinx_design/compiled/opticons.json b/sphinx_design/compiled/opticons.json new file mode 100644 index 0000000..ea9efe1 --- /dev/null +++ b/sphinx_design/compiled/opticons.json @@ -0,0 +1 @@ +{"alert":{"name":"alert","keywords":["warning","triangle","exclamation","point"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"archive":{"name":"archive","keywords":["box","catalog"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"arrow-both":{"name":"arrow-both","keywords":["point","direction","left","right"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"arrow-down":{"name":"arrow-down","keywords":["point","direction"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"arrow-down-left":{"name":"arrow-down-left","keywords":[],"heights":{"24":{"width":24,"path":""}}},"arrow-down-right":{"name":"arrow-down-right","keywords":[],"heights":{"24":{"width":24,"path":""}}},"arrow-left":{"name":"arrow-left","keywords":["point","direction"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"arrow-right":{"name":"arrow-right","keywords":["point","direction"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"arrow-up":{"name":"arrow-up","keywords":["point","direction"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"arrow-up-left":{"name":"arrow-up-left","keywords":[],"heights":{"24":{"width":24,"path":""}}},"arrow-up-right":{"name":"arrow-up-right","keywords":[],"heights":{"24":{"width":24,"path":""}}},"beaker":{"name":"beaker","keywords":["experiment","labs","experimental","feature","test","science","education","study","development","testing"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"bell":{"name":"bell","keywords":["notification"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"bell-fill":{"name":"bell-fill","keywords":[],"heights":{"24":{"width":24,"path":""}}},"bell-slash":{"name":"bell-slash","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"bold":{"name":"bold","keywords":["markdown","bold","text"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"book":{"name":"book","keywords":["book","journal","wiki","readme"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"bookmark":{"name":"bookmark","keywords":["tab","star"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"bookmark-fill":{"name":"bookmark-fill","keywords":[],"heights":{"24":{"width":24,"path":""}}},"bookmark-slash":{"name":"bookmark-slash","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"bookmark-slash-fill":{"name":"bookmark-slash-fill","keywords":[],"heights":{"24":{"width":24,"path":""}}},"broadcast":{"name":"broadcast","keywords":["rss","radio","signal"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"calendar":{"name":"calendar","keywords":["time","day","month","year","date","appointment"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"check":{"name":"check","keywords":["mark","yes","confirm","accept","ok","success"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"check-circle":{"name":"check-circle","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"check-circle-fill":{"name":"check-circle-fill","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"checklist":{"name":"checklist","keywords":["todo","tasks"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"chevron-down":{"name":"chevron-down","keywords":["triangle","arrow"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"chevron-left":{"name":"chevron-left","keywords":["triangle","arrow"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"chevron-right":{"name":"chevron-right","keywords":["triangle","arrow"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"chevron-up":{"name":"chevron-up","keywords":["triangle","arrow"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"circle":{"name":"circle","keywords":[],"heights":{"24":{"width":24,"path":""}}},"circle-slash":{"name":"circle-slash","keywords":["no","deny","fail","failure","error","bad"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"clippy":{"name":"clippy","keywords":["copy","paste","save","capture","clipboard"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"clock":{"name":"clock","keywords":["time","hour","minute","second","watch"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"code":{"name":"code","keywords":["brackets"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"code-review":{"name":"code-review","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"code-square":{"name":"code-square","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"comment":{"name":"comment","keywords":["speak","bubble"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"comment-discussion":{"name":"comment-discussion","keywords":["converse","talk"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"commit":{"name":"commit","keywords":[],"heights":{"24":{"width":24,"path":""}}},"copy":{"name":"copy","keywords":[],"heights":{"24":{"width":24,"path":""}}},"cpu":{"name":"cpu","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"credit-card":{"name":"credit-card","keywords":["money","billing","payments","transactions"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"cross-reference":{"name":"cross-reference","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"dash":{"name":"dash","keywords":["hyphen","range"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"database":{"name":"database","keywords":["disks","data"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"desktop-download":{"name":"desktop-download","keywords":["clone","download"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"device-camera-video":{"name":"device-camera-video","keywords":["watch","view","media","stream"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"device-desktop":{"name":"device-desktop","keywords":["computer","monitor"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"device-mobile":{"name":"device-mobile","keywords":["phone","iphone","cellphone"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"diff":{"name":"diff","keywords":["difference","changes","compare"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"diff-added":{"name":"diff-added","keywords":["new","addition","plus"],"heights":{"16":{"width":16,"path":""}}},"diff-ignored":{"name":"diff-ignored","keywords":["slash"],"heights":{"16":{"width":16,"path":""}}},"diff-modified":{"name":"diff-modified","keywords":["dot","changed","updated"],"heights":{"16":{"width":16,"path":""}}},"diff-removed":{"name":"diff-removed","keywords":["deleted","subtracted","dash"],"heights":{"16":{"width":16,"path":""}}},"diff-renamed":{"name":"diff-renamed","keywords":["moved","arrow"],"heights":{"16":{"width":16,"path":""}}},"dot":{"name":"dot","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"dot-fill":{"name":"dot-fill","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"download":{"name":"download","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"eye":{"name":"eye","keywords":["look","watch","see"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"eye-closed":{"name":"eye-closed","keywords":["hidden","invisible","concealed",""],"heights":{"16":{"width":16,"path":""}}},"eye-slash":{"name":"eye-slash","keywords":[],"heights":{"24":{"width":24,"path":""}}},"file":{"name":"file","keywords":["file","text","words"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"file-binary":{"name":"file-binary","keywords":["image","video","word","powerpoint","excel"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"file-code":{"name":"file-code","keywords":["text","javascript","html","css","php","ruby","coffeescript","sass","scss"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"file-diff":{"name":"file-diff","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"file-directory":{"name":"file-directory","keywords":["folder"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"file-directory-fill":{"name":"file-directory-fill","keywords":[],"heights":{"24":{"width":24,"path":""}}},"file-media":{"name":"file-media","keywords":["image","video","audio"],"heights":{"24":{"width":24,"path":""}}},"file-submodule":{"name":"file-submodule","keywords":["folder"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"file-symlink":{"name":"file-symlink","keywords":[],"heights":{"24":{"width":24,"path":""}}},"file-symlink-file":{"name":"file-symlink-file","keywords":["link","alias"],"heights":{"16":{"width":16,"path":""}}},"file-zip":{"name":"file-zip","keywords":["compress","archive"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"filter":{"name":"filter","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"fire":{"name":"fire","keywords":[],"heights":{"24":{"width":24,"path":""}}},"flame":{"name":"flame","keywords":["fire","hot","burn","trending"],"heights":{"16":{"width":16,"path":""}}},"fold":{"name":"fold","keywords":["unfold","hide","collapse"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"fold-down":{"name":"fold-down","keywords":["unfold","hide","collapse","down"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"fold-up":{"name":"fold-up","keywords":["unfold","hide","collapse","up"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"gear":{"name":"gear","keywords":["settings"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"gift":{"name":"gift","keywords":["package","present","skill","craft","freebie"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"git-branch":{"name":"git-branch","keywords":["fork","branch","git","duplicate"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"git-commit":{"name":"git-commit","keywords":["save"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"git-compare":{"name":"git-compare","keywords":["difference","changes"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"git-fork":{"name":"git-fork","keywords":[],"heights":{"24":{"width":24,"path":""}}},"git-merge":{"name":"git-merge","keywords":["join"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"git-pull-request":{"name":"git-pull-request","keywords":["review"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"globe":{"name":"globe","keywords":["world","earth","planet"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"grabber":{"name":"grabber","keywords":["mover","drap","drop","sort"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"graph":{"name":"graph","keywords":["trend","stats","statistics"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"heading":{"name":"heading","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"heart":{"name":"heart","keywords":["love","beat"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"heart-fill":{"name":"heart-fill","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"history":{"name":"history","keywords":["time","past","revert","back"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"home":{"name":"home","keywords":["welcome","index","house","building"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"home-fill":{"name":"home-fill","keywords":[],"heights":{"24":{"width":24,"path":""}}},"horizontal-rule":{"name":"horizontal-rule","keywords":["hr"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"hourglass":{"name":"hourglass","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"hubot":{"name":"hubot","keywords":["robot","bot"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"image":{"name":"image","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"inbox":{"name":"inbox","keywords":["mail","todo","new","messages"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"infinity":{"name":"infinity","keywords":["unlimited","infinite"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"info":{"name":"info","keywords":["help"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"insights":{"name":"insights","keywords":[],"heights":{"24":{"width":24,"path":""}}},"issue-closed":{"name":"issue-closed","keywords":["done","complete"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"issue-opened":{"name":"issue-opened","keywords":["new"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"issue-reopened":{"name":"issue-reopened","keywords":["regression"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"italic":{"name":"italic","keywords":["font","italic","style"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"kebab-horizontal":{"name":"kebab-horizontal","keywords":["kebab","dot","menu","more"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"key":{"name":"key","keywords":["key","lock","secure","safe"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"law":{"name":"law","keywords":["legal","bill"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"light-bulb":{"name":"light-bulb","keywords":["idea"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"link":{"name":"link","keywords":["connect","hyperlink"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"link-external":{"name":"link-external","keywords":["out","see","more","go","to"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"list-ordered":{"name":"list-ordered","keywords":["numbers","tasks","todo","items"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"list-unordered":{"name":"list-unordered","keywords":["bullet","point","tasks","todo","items"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"location":{"name":"location","keywords":["here","marker"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"lock":{"name":"lock","keywords":["secure","safe","protected"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"logo-gist":{"name":"logo-gist","keywords":["brand","github","logo"],"heights":{"16":{"width":25,"path":""}}},"logo-github":{"name":"logo-github","keywords":["brand","github","logo"],"heights":{"16":{"width":45,"path":""}}},"mail":{"name":"mail","keywords":["email","unread"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"mark-github":{"name":"mark-github","keywords":["octocat","brand","github","logo"],"heights":{"16":{"width":16,"path":""}}},"markdown":{"name":"markdown","keywords":["markup","style"],"heights":{"16":{"width":16,"path":""}}},"megaphone":{"name":"megaphone","keywords":["bullhorn","loud","shout","broadcast"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"mention":{"name":"mention","keywords":["at","ping"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"milestone":{"name":"milestone","keywords":["marker"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"mirror":{"name":"mirror","keywords":["reflect"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"mortar-board":{"name":"mortar-board","keywords":["education","learn","teach"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"mute":{"name":"mute","keywords":["quiet","sound","audio","turn","off"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"no-entry":{"name":"no-entry","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"north-star":{"name":"north-star","keywords":["star","snowflake","asterisk"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"note":{"name":"note","keywords":["card","paper","ticket"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"octoface":{"name":"octoface","keywords":["octocat","brand"],"heights":{"16":{"width":16,"path":""}}},"organization":{"name":"organization","keywords":["people","group","team"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"package":{"name":"package","keywords":["box","ship"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"package-dependencies":{"name":"package-dependencies","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"package-dependents":{"name":"package-dependents","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"paper-airplane":{"name":"paper-airplane","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"pencil":{"name":"pencil","keywords":["edit","change","update","write"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"people":{"name":"people","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"person":{"name":"person","keywords":["people","man","woman","human"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"pin":{"name":"pin","keywords":["save","star","bookmark"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"play":{"name":"play","keywords":["play","start","begin","action"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"plug":{"name":"plug","keywords":["hook","webhook"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"plus":{"name":"plus","keywords":["add","new","more"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"plus-circle":{"name":"plus-circle","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"project":{"name":"project","keywords":["board","kanban","columns","scrum"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"pulse":{"name":"pulse","keywords":["graph","trend","line","activity"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"question":{"name":"question","keywords":["help","explain"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"quote":{"name":"quote","keywords":["quotation"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"reply":{"name":"reply","keywords":["reply all","back"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"repo":{"name":"repo","keywords":["book","journal","repository"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"repo-forked":{"name":"repo-forked","keywords":["book","journal","copy"],"heights":{"16":{"width":16,"path":""}}},"repo-push":{"name":"repo-push","keywords":["book","journal","repository","put"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"repo-template":{"name":"repo-template","keywords":["book","new","add","template"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"report":{"name":"report","keywords":["report","abuse","flag"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"rocket":{"name":"rocket","keywords":["staff","stafftools","blast","off","space","launch","ship"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"rss":{"name":"rss","keywords":["broadcast","feed","atom"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"screen-full":{"name":"screen-full","keywords":["fullscreen","expand"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"screen-normal":{"name":"screen-normal","keywords":["fullscreen","expand","exit"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"search":{"name":"search","keywords":["magnifying","glass"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"server":{"name":"server","keywords":["computers","racks","ops"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"settings":{"name":"settings","keywords":["sliders","filters","controls","levels"],"heights":{"24":{"width":24,"path":""}}},"share":{"name":"share","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"share-android":{"name":"share-android","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"shield":{"name":"shield","keywords":["security","shield","protection"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"shield-check":{"name":"shield-check","keywords":["security","shield","protection","check","success"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"shield-lock":{"name":"shield-lock","keywords":["protect","shield","lock"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"shield-x":{"name":"shield-x","keywords":["security","shield","protection","fail"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"sign-in":{"name":"sign-in","keywords":["door","arrow","direction","enter","log in"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"sign-out":{"name":"sign-out","keywords":["door","arrow","direction","leave","log out"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"skip":{"name":"skip","keywords":["skip","slash"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"smiley":{"name":"smiley","keywords":["emoji","smile","mood","emotion"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"star":{"name":"star","keywords":["save","remember","like"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"star-fill":{"name":"star-fill","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"stop":{"name":"stop","keywords":["block","spam","report"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"stopwatch":{"name":"stopwatch","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"sync":{"name":"sync","keywords":["cycle","refresh","loop"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"tab":{"name":"tab","keywords":[],"heights":{"24":{"width":24,"path":""}}},"tag":{"name":"tag","keywords":["release"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"tasklist":{"name":"tasklist","keywords":["todo"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"telescope":{"name":"telescope","keywords":["science","space","look","view","explore"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"terminal":{"name":"terminal","keywords":["code","ops","shell"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"three-bars":{"name":"three-bars","keywords":["hamburger","menu","dropdown"],"heights":{"16":{"width":16,"path":""}}},"thumbsdown":{"name":"thumbsdown","keywords":["thumb","thumbsdown","rejected","dislike"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"thumbsup":{"name":"thumbsup","keywords":["thumb","thumbsup","prop","ship","like"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"tools":{"name":"tools","keywords":["screwdriver","wrench","settings"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"trash":{"name":"trash","keywords":[],"heights":{"24":{"width":24,"path":""}}},"trashcan":{"name":"trashcan","keywords":["garbage","rubbish","recycle","delete"],"heights":{"16":{"width":16,"path":""}}},"triangle-down":{"name":"triangle-down","keywords":["arrow","point","direction"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"triangle-left":{"name":"triangle-left","keywords":["arrow","point","direction"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"triangle-right":{"name":"triangle-right","keywords":["arrow","point","direction"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"triangle-up":{"name":"triangle-up","keywords":["arrow","point","direction"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"typography":{"name":"typography","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"unfold":{"name":"unfold","keywords":["expand","open","reveal"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"unlock":{"name":"unlock","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"unmute":{"name":"unmute","keywords":["loud","volume","audio","sound","play"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"unverifed":{"name":"unverifed","keywords":[],"heights":{"24":{"width":24,"path":""}}},"unverified":{"name":"unverified","keywords":["insecure","untrusted","signed"],"heights":{"16":{"width":16,"path":""}}},"upload":{"name":"upload","keywords":[],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"verified":{"name":"verified","keywords":["trusted","secure","trustworthy","signed"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"versions":{"name":"versions","keywords":["history","commits"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"workflow":{"name":"workflow","keywords":["workflow","actions"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"x":{"name":"x","keywords":["remove","close","delete"],"heights":{"16":{"width":16,"path":""},"24":{"width":24,"path":""}}},"x-circle":{"name":"x-circle","keywords":[],"heights":{"24":{"width":24,"path":""}}},"x-circle-fill":{"name":"x-circle-fill","keywords":[],"heights":{"24":{"width":24,"path":""}}}} diff --git a/sphinx_design/compiled/style.min.css b/sphinx_design/compiled/style.min.css index 6cf1d80..fb6a0d5 100644 --- a/sphinx_design/compiled/style.min.css +++ b/sphinx_design/compiled/style.min.css @@ -1 +1 @@ -:root{--sd-color-primary: #007bff;--sd-color-secondary: #6c757d;--sd-color-success: #28a745;--sd-color-info: #17a2b8;--sd-color-warning: #ffc107;--sd-color-danger: #dc3545;--sd-color-light: #f8f9fa;--sd-color-muted: #6c757d;--sd-color-dark: #212529;--sd-color-primary-highlight: #0069d9;--sd-color-secondary-highlight: #5c636a;--sd-color-success-highlight: #228e3b;--sd-color-info-highlight: #148a9c;--sd-color-warning-highlight: #d9a406;--sd-color-danger-highlight: #bb2d3b;--sd-color-light-highlight: #d3d4d5;--sd-color-muted-highlight: #5c636a;--sd-color-dark-highlight: #1c1f23;--sd-color-primary-text: #fff;--sd-color-secondary-text: #fff;--sd-color-success-text: #fff;--sd-color-info-text: #fff;--sd-color-warning-text: #fff;--sd-color-danger-text: #fff;--sd-color-light-text: #212529;--sd-color-muted-text: #fff;--sd-color-dark-text: #fff;--sd-color-shadow: rgba(0, 0, 0, 0.15);--sd-color-card-border: rgba(0, 0, 0, 0.125);--sd-color-card-border-hover: rgba(0, 0, 0, 0.25);--sd-color-card-background: transparent;--sd-color-card-text: inherit;--sd-color-card-header: transparent;--sd-color-card-footer: transparent}.sd-bg-transparent{background-color:transparent !important}.sd-bg-primary{background-color:var(--sd-color-primary) !important}.sd-bg-text-primary{color:var(--sd-color-primary-text) !important}button.sd-bg-primary:focus,button.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}a.sd-bg-primary:focus,a.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}.sd-bg-secondary{background-color:var(--sd-color-secondary) !important}.sd-bg-text-secondary{color:var(--sd-color-secondary-text) !important}button.sd-bg-secondary:focus,button.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}a.sd-bg-secondary:focus,a.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}.sd-bg-success{background-color:var(--sd-color-success) !important}.sd-bg-text-success{color:var(--sd-color-success-text) !important}button.sd-bg-success:focus,button.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}a.sd-bg-success:focus,a.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}.sd-bg-info{background-color:var(--sd-color-info) !important}.sd-bg-text-info{color:var(--sd-color-info-text) !important}button.sd-bg-info:focus,button.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}a.sd-bg-info:focus,a.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}.sd-bg-warning{background-color:var(--sd-color-warning) !important}.sd-bg-text-warning{color:var(--sd-color-warning-text) !important}button.sd-bg-warning:focus,button.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}a.sd-bg-warning:focus,a.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}.sd-bg-danger{background-color:var(--sd-color-danger) !important}.sd-bg-text-danger{color:var(--sd-color-danger-text) !important}button.sd-bg-danger:focus,button.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}a.sd-bg-danger:focus,a.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}.sd-bg-light{background-color:var(--sd-color-light) !important}.sd-bg-text-light{color:var(--sd-color-light-text) !important}button.sd-bg-light:focus,button.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}a.sd-bg-light:focus,a.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}.sd-bg-muted{background-color:var(--sd-color-muted) !important}.sd-bg-text-muted{color:var(--sd-color-muted-text) !important}button.sd-bg-muted:focus,button.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}a.sd-bg-muted:focus,a.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}.sd-bg-dark{background-color:var(--sd-color-dark) !important}.sd-bg-text-dark{color:var(--sd-color-dark-text) !important}button.sd-bg-dark:focus,button.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}a.sd-bg-dark:focus,a.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}.sd-text-primary{color:var(--sd-color-primary) !important}a.sd-text-primary:focus,a.sd-text-primary:hover{color:var(--sd-color-primary-highlight) !important}.sd-text-secondary{color:var(--sd-color-secondary) !important}a.sd-text-secondary:focus,a.sd-text-secondary:hover{color:var(--sd-color-secondary-highlight) !important}.sd-text-success{color:var(--sd-color-success) !important}a.sd-text-success:focus,a.sd-text-success:hover{color:var(--sd-color-success-highlight) !important}.sd-text-info{color:var(--sd-color-info) !important}a.sd-text-info:focus,a.sd-text-info:hover{color:var(--sd-color-info-highlight) !important}.sd-text-warning{color:var(--sd-color-warning) !important}a.sd-text-warning:focus,a.sd-text-warning:hover{color:var(--sd-color-warning-highlight) !important}.sd-text-danger{color:var(--sd-color-danger) !important}a.sd-text-danger:focus,a.sd-text-danger:hover{color:var(--sd-color-danger-highlight) !important}.sd-text-light{color:var(--sd-color-light) !important}a.sd-text-light:focus,a.sd-text-light:hover{color:var(--sd-color-light-highlight) !important}.sd-text-muted{color:var(--sd-color-muted) !important}a.sd-text-muted:focus,a.sd-text-muted:hover{color:var(--sd-color-muted-highlight) !important}.sd-text-dark{color:var(--sd-color-dark) !important}a.sd-text-dark:focus,a.sd-text-dark:hover{color:var(--sd-color-dark-highlight) !important}.sd-outline-primary{border-color:var(--sd-color-primary) !important;border:1px solid !important}a.sd-outline-primary:focus,a.sd-outline-primary:hover{border-color:var(--sd-color-primary-highlight) !important}.sd-outline-secondary{border-color:var(--sd-color-secondary) !important;border:1px solid !important}a.sd-outline-secondary:focus,a.sd-outline-secondary:hover{border-color:var(--sd-color-secondary-highlight) !important}.sd-outline-success{border-color:var(--sd-color-success) !important;border:1px solid !important}a.sd-outline-success:focus,a.sd-outline-success:hover{border-color:var(--sd-color-success-highlight) !important}.sd-outline-info{border-color:var(--sd-color-info) !important;border:1px solid !important}a.sd-outline-info:focus,a.sd-outline-info:hover{border-color:var(--sd-color-info-highlight) !important}.sd-outline-warning{border-color:var(--sd-color-warning) !important;border:1px solid !important}a.sd-outline-warning:focus,a.sd-outline-warning:hover{border-color:var(--sd-color-warning-highlight) !important}.sd-outline-danger{border-color:var(--sd-color-danger) !important;border:1px solid !important}a.sd-outline-danger:focus,a.sd-outline-danger:hover{border-color:var(--sd-color-danger-highlight) !important}.sd-outline-light{border-color:var(--sd-color-light) !important;border:1px solid !important}a.sd-outline-light:focus,a.sd-outline-light:hover{border-color:var(--sd-color-light-highlight) !important}.sd-outline-muted{border-color:var(--sd-color-muted) !important;border:1px solid !important}a.sd-outline-muted:focus,a.sd-outline-muted:hover{border-color:var(--sd-color-muted-highlight) !important}.sd-outline-dark{border-color:var(--sd-color-dark) !important;border:1px solid !important}a.sd-outline-dark:focus,a.sd-outline-dark:hover{border-color:var(--sd-color-dark-highlight) !important}.sd-shadow{box-shadow:0 .5rem 1rem var(--sd-color-shadow) !important}.sd-p-0{padding:0 !important}.sd-pt-0,.sd-py-0{padding-top:0 !important}.sd-pr-0,.sd-px-0{padding-right:0 !important}.sd-pb-0,.sd-py-0{padding-bottom:0 !important}.sd-pl-0,.sd-px-0{padding-left:0 !important}.sd-p-1{padding:.25rem !important}.sd-pt-1,.sd-py-1{padding-top:.25rem !important}.sd-pr-1,.sd-px-1{padding-right:.25rem !important}.sd-pb-1,.sd-py-1{padding-bottom:.25rem !important}.sd-pl-1,.sd-px-1{padding-left:.25rem !important}.sd-p-2{padding:.5rem !important}.sd-pt-2,.sd-py-2{padding-top:.5rem !important}.sd-pr-2,.sd-px-2{padding-right:.5rem !important}.sd-pb-2,.sd-py-2{padding-bottom:.5rem !important}.sd-pl-2,.sd-px-2{padding-left:.5rem !important}.sd-p-3{padding:1rem !important}.sd-pt-3,.sd-py-3{padding-top:1rem !important}.sd-pr-3,.sd-px-3{padding-right:1rem !important}.sd-pb-3,.sd-py-3{padding-bottom:1rem !important}.sd-pl-3,.sd-px-3{padding-left:1rem !important}.sd-p-4{padding:1.5rem !important}.sd-pt-4,.sd-py-4{padding-top:1.5rem !important}.sd-pr-4,.sd-px-4{padding-right:1.5rem !important}.sd-pb-4,.sd-py-4{padding-bottom:1.5rem !important}.sd-pl-4,.sd-px-4{padding-left:1.5rem !important}.sd-p-5{padding:3rem !important}.sd-pt-5,.sd-py-5{padding-top:3rem !important}.sd-pr-5,.sd-px-5{padding-right:3rem !important}.sd-pb-5,.sd-py-5{padding-bottom:3rem !important}.sd-pl-5,.sd-px-5{padding-left:3rem !important}.sd-m-auto{margin:auto !important}.sd-mt-auto,.sd-my-auto{margin-top:auto !important}.sd-mr-auto,.sd-mx-auto{margin-right:auto !important}.sd-mb-auto,.sd-my-auto{margin-bottom:auto !important}.sd-ml-auto,.sd-mx-auto{margin-left:auto !important}.sd-m-0{margin:0 !important}.sd-mt-0,.sd-my-0{margin-top:0 !important}.sd-mr-0,.sd-mx-0{margin-right:0 !important}.sd-mb-0,.sd-my-0{margin-bottom:0 !important}.sd-ml-0,.sd-mx-0{margin-left:0 !important}.sd-m-1{margin:.25rem !important}.sd-mt-1,.sd-my-1{margin-top:.25rem !important}.sd-mr-1,.sd-mx-1{margin-right:.25rem !important}.sd-mb-1,.sd-my-1{margin-bottom:.25rem !important}.sd-ml-1,.sd-mx-1{margin-left:.25rem !important}.sd-m-2{margin:.5rem !important}.sd-mt-2,.sd-my-2{margin-top:.5rem !important}.sd-mr-2,.sd-mx-2{margin-right:.5rem !important}.sd-mb-2,.sd-my-2{margin-bottom:.5rem !important}.sd-ml-2,.sd-mx-2{margin-left:.5rem !important}.sd-m-3{margin:1rem !important}.sd-mt-3,.sd-my-3{margin-top:1rem !important}.sd-mr-3,.sd-mx-3{margin-right:1rem !important}.sd-mb-3,.sd-my-3{margin-bottom:1rem !important}.sd-ml-3,.sd-mx-3{margin-left:1rem !important}.sd-m-4{margin:1.5rem !important}.sd-mt-4,.sd-my-4{margin-top:1.5rem !important}.sd-mr-4,.sd-mx-4{margin-right:1.5rem !important}.sd-mb-4,.sd-my-4{margin-bottom:1.5rem !important}.sd-ml-4,.sd-mx-4{margin-left:1.5rem !important}.sd-m-5{margin:3rem !important}.sd-mt-5,.sd-my-5{margin-top:3rem !important}.sd-mr-5,.sd-mx-5{margin-right:3rem !important}.sd-mb-5,.sd-my-5{margin-bottom:3rem !important}.sd-ml-5,.sd-mx-5{margin-left:3rem !important}.sd-w-25{width:25% !important}.sd-w-50{width:50% !important}.sd-w-75{width:75% !important}.sd-w-100{width:100% !important}.sd-w-auto{width:auto !important}.sd-h-25{height:25% !important}.sd-h-50{height:50% !important}.sd-h-75{height:75% !important}.sd-h-100{height:100% !important}.sd-h-auto{height:auto !important}.sd-d-none{display:none !important}.sd-d-inline{display:inline !important}.sd-d-inline-block{display:inline-block !important}.sd-d-block{display:block !important}.sd-d-grid{display:grid !important}.sd-d-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}@media(min-width: 576px){.sd-d-sm-none{display:none !important}.sd-d-sm-inline{display:inline !important}.sd-d-sm-inline-block{display:inline-block !important}.sd-d-sm-block{display:block !important}.sd-d-sm-grid{display:grid !important}.sd-d-sm-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-sm-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 768px){.sd-d-md-none{display:none !important}.sd-d-md-inline{display:inline !important}.sd-d-md-inline-block{display:inline-block !important}.sd-d-md-block{display:block !important}.sd-d-md-grid{display:grid !important}.sd-d-md-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-md-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 992px){.sd-d-lg-none{display:none !important}.sd-d-lg-inline{display:inline !important}.sd-d-lg-inline-block{display:inline-block !important}.sd-d-lg-block{display:block !important}.sd-d-lg-grid{display:grid !important}.sd-d-lg-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-lg-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 1200px){.sd-d-xl-none{display:none !important}.sd-d-xl-inline{display:inline !important}.sd-d-xl-inline-block{display:inline-block !important}.sd-d-xl-block{display:block !important}.sd-d-xl-grid{display:grid !important}.sd-d-xl-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-xl-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}.sd-text-justify{text-align:justify !important}.sd-text-left{text-align:left !important}.sd-text-right{text-align:right !important}.sd-text-center{text-align:center !important}.sd-font-weight-light{font-weight:300 !important}.sd-font-weight-lighter{font-weight:lighter !important}.sd-font-weight-normal{font-weight:400 !important}.sd-font-weight-bold{font-weight:700 !important}.sd-font-weight-bolder{font-weight:bolder !important}.sd-font-italic{font-style:italic !important}.sd-text-decoration-none{text-decoration:none !important}.sd-text-lowercase{text-transform:lowercase !important}.sd-text-uppercase{text-transform:uppercase !important}.sd-text-capitalize{text-transform:capitalize !important}.sd-text-wrap{white-space:normal !important}.sd-text-nowrap{white-space:nowrap !important}.sd-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.sd-badge:empty{display:none}a.sd-badge{text-decoration:none}.sd-btn .sd-badge{position:relative;top:-1px}.sd-rounded-0{border-radius:0 !important}.sd-rounded-1{border-radius:.2rem !important}.sd-rounded-2{border-radius:.25rem !important}.sd-rounded-3{border-radius:.3rem !important}.sd-rounded-pill{border-radius:50rem !important}.sd-rounded-circle{border-radius:50% !important}.sd-btn{background-color:transparent;border:1px solid transparent;border-radius:.25rem;cursor:pointer;display:inline-block;font-weight:400;font-size:1rem;line-height:1.5;padding:.375rem .75rem;text-align:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;vertical-align:middle;user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none}.sd-btn:hover{text-decoration:none}@media(prefers-reduced-motion: reduce){.sd-btn{transition:none}}.sd-btn-primary,.sd-btn-outline-primary:hover,.sd-btn-outline-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-primary:hover,.sd-btn-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary-highlight) !important;border-color:var(--sd-color-primary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-primary{color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary,.sd-btn-outline-secondary:hover,.sd-btn-outline-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary:hover,.sd-btn-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary-highlight) !important;border-color:var(--sd-color-secondary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-secondary{color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success,.sd-btn-outline-success:hover,.sd-btn-outline-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success:hover,.sd-btn-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success-highlight) !important;border-color:var(--sd-color-success-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-success{color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info,.sd-btn-outline-info:hover,.sd-btn-outline-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info:hover,.sd-btn-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info-highlight) !important;border-color:var(--sd-color-info-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-info{color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning,.sd-btn-outline-warning:hover,.sd-btn-outline-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning:hover,.sd-btn-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning-highlight) !important;border-color:var(--sd-color-warning-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-warning{color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger,.sd-btn-outline-danger:hover,.sd-btn-outline-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger:hover,.sd-btn-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger-highlight) !important;border-color:var(--sd-color-danger-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-danger{color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light,.sd-btn-outline-light:hover,.sd-btn-outline-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light:hover,.sd-btn-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light-highlight) !important;border-color:var(--sd-color-light-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-light{color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted,.sd-btn-outline-muted:hover,.sd-btn-outline-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted:hover,.sd-btn-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted-highlight) !important;border-color:var(--sd-color-muted-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-muted{color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark,.sd-btn-outline-dark:hover,.sd-btn-outline-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark:hover,.sd-btn-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark-highlight) !important;border-color:var(--sd-color-dark-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-dark{color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.sd-card{background-clip:border-box;background-color:var(--sd-color-card-background);border:1px solid var(--sd-color-card-border);border-radius:.25rem;color:var(--sd-color-card-text);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;position:relative;word-wrap:break-word}.sd-card>hr{margin-left:0;margin-right:0}.sd-card-hover:hover{border-color:var(--sd-color-card-border-hover)}.sd-card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem 1rem}.sd-card-title{margin-bottom:.5rem}.sd-card-subtitle{margin-top:-0.25rem;margin-bottom:0}.sd-card-text:last-child{margin-bottom:0}.sd-card-link:hover{text-decoration:none}.sd-card-link+.card-link{margin-left:1rem}.sd-card-header{padding:.5rem 1rem;margin-bottom:0;background-color:var(--sd-color-card-header);border-bottom:1px solid var(--sd-color-card-border)}.sd-card-header:first-child{border-radius:calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0}.sd-card-footer{padding:.5rem 1rem;background-color:var(--sd-color-card-footer);border-top:1px solid var(--sd-color-card-border)}.sd-card-footer:last-child{border-radius:0 0 calc(0.25rem - 1px) calc(0.25rem - 1px)}.sd-card-header-tabs{margin-right:-0.5rem;margin-bottom:-0.5rem;margin-left:-0.5rem;border-bottom:0}.sd-card-header-pills{margin-right:-0.5rem;margin-left:-0.5rem}.sd-card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom,.sd-card-img-top{width:100%}.sd-card-img,.sd-card-img-top{border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom{border-bottom-left-radius:calc(0.25rem - 1px);border-bottom-right-radius:calc(0.25rem - 1px)}.sd-container,.sd-container-fluid,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container-xl{margin-left:auto;margin-right:auto;padding-left:var(--sd-gutter-x, 0.75rem);padding-right:var(--sd-gutter-x, 0.75rem);width:100%}@media(min-width: 576px){.sd-container-sm,.sd-container{max-width:540px}}@media(min-width: 768px){.sd-container-md,.sd-container-sm,.sd-container{max-width:720px}}@media(min-width: 992px){.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:960px}}@media(min-width: 1200px){.sd-container-xl,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:1140px}}.sd-row{--sd-gutter-x: 1.5rem;--sd-gutter-y: 0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(var(--sd-gutter-y) * -1);margin-right:calc(var(--sd-gutter-x) * -0.5);margin-left:calc(var(--sd-gutter-x) * -0.5)}.sd-row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--sd-gutter-x) * 0.5);padding-left:calc(var(--sd-gutter-x) * 0.5);margin-top:var(--sd-gutter-y)}.sd-col{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}@media(min-width: 576px){.sd-col-sm{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-sm-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-sm-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-sm-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-sm-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-sm-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-sm-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-sm-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-sm-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-sm-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-sm-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-sm-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-sm-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-sm-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 768px){.sd-col-md{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-md-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-md-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-md-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-md-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-md-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-md-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-md-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-md-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-md-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-md-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-md-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-md-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-md-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 992px){.sd-col-lg{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-lg-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-lg-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-lg-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-lg-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-lg-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-lg-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-lg-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-lg-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-lg-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-lg-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-lg-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-lg-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-lg-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 1200px){.sd-col-xl{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-xl-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-xl-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-xl-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-xl-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-xl-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-xl-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-xl-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-xl-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-xl-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-xl-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-xl-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-xl-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-xl-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}.sd-col-auto{flex:0 0 auto;-ms-flex:0 0 auto;width:auto}.sd-col-1{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}.sd-col-2{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-col-3{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-col-4{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-col-5{flex:0 0 auto;-ms-flex:0 0 auto;width:41.6666666667%}.sd-col-6{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-col-7{flex:0 0 auto;-ms-flex:0 0 auto;width:58.3333333333%}.sd-col-8{flex:0 0 auto;-ms-flex:0 0 auto;width:66.6666666667%}.sd-col-9{flex:0 0 auto;-ms-flex:0 0 auto;width:75%}.sd-col-10{flex:0 0 auto;-ms-flex:0 0 auto;width:83.3333333333%}.sd-col-11{flex:0 0 auto;-ms-flex:0 0 auto;width:91.6666666667%}.sd-col-12{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-g-0,.sd-gy-0{--sd-gutter-y: 0}.sd-g-0,.sd-gx-0{--sd-gutter-x: 0}.sd-g-1,.sd-gy-1{--sd-gutter-y: 0.25rem}.sd-g-1,.sd-gx-1{--sd-gutter-x: 0.25rem}.sd-g-2,.sd-gy-2{--sd-gutter-y: 0.5rem}.sd-g-2,.sd-gx-2{--sd-gutter-x: 0.5rem}.sd-g-3,.sd-gy-3{--sd-gutter-y: 1rem}.sd-g-3,.sd-gx-3{--sd-gutter-x: 1rem}.sd-g-4,.sd-gy-4{--sd-gutter-y: 1.5rem}.sd-g-4,.sd-gx-4{--sd-gutter-x: 1.5rem}.sd-g-5,.sd-gy-5{--sd-gutter-y: 3rem}.sd-g-5,.sd-gx-5{--sd-gutter-x: 3rem}@media(min-width: 576px){.sd-col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-sm-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-sm-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-sm-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-sm-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-sm-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-sm-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-sm-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-sm-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-sm-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-sm-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-sm-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-sm-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-sm-0,.sd-gy-sm-0{--sd-gutter-y: 0}.sd-g-sm-0,.sd-gx-sm-0{--sd-gutter-x: 0}.sd-g-sm-1,.sd-gy-sm-1{--sd-gutter-y: 0.25rem}.sd-g-sm-1,.sd-gx-sm-1{--sd-gutter-x: 0.25rem}.sd-g-sm-2,.sd-gy-sm-2{--sd-gutter-y: 0.5rem}.sd-g-sm-2,.sd-gx-sm-2{--sd-gutter-x: 0.5rem}.sd-g-sm-3,.sd-gy-sm-3{--sd-gutter-y: 1rem}.sd-g-sm-3,.sd-gx-sm-3{--sd-gutter-x: 1rem}.sd-g-sm-4,.sd-gy-sm-4{--sd-gutter-y: 1.5rem}.sd-g-sm-4,.sd-gx-sm-4{--sd-gutter-x: 1.5rem}.sd-g-sm-5,.sd-gy-sm-5{--sd-gutter-y: 3rem}.sd-g-sm-5,.sd-gx-sm-5{--sd-gutter-x: 3rem}}@media(min-width: 768px){.sd-col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-md-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-md-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-md-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-md-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-md-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-md-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-md-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-md-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-md-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-md-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-md-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-md-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-md-0,.sd-gy-md-0{--sd-gutter-y: 0}.sd-g-md-0,.sd-gx-md-0{--sd-gutter-x: 0}.sd-g-md-1,.sd-gy-md-1{--sd-gutter-y: 0.25rem}.sd-g-md-1,.sd-gx-md-1{--sd-gutter-x: 0.25rem}.sd-g-md-2,.sd-gy-md-2{--sd-gutter-y: 0.5rem}.sd-g-md-2,.sd-gx-md-2{--sd-gutter-x: 0.5rem}.sd-g-md-3,.sd-gy-md-3{--sd-gutter-y: 1rem}.sd-g-md-3,.sd-gx-md-3{--sd-gutter-x: 1rem}.sd-g-md-4,.sd-gy-md-4{--sd-gutter-y: 1.5rem}.sd-g-md-4,.sd-gx-md-4{--sd-gutter-x: 1.5rem}.sd-g-md-5,.sd-gy-md-5{--sd-gutter-y: 3rem}.sd-g-md-5,.sd-gx-md-5{--sd-gutter-x: 3rem}}@media(min-width: 992px){.sd-col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-lg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-lg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-lg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-lg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-lg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-lg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-lg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-lg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-lg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-lg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-lg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-lg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-lg-0,.sd-gy-lg-0{--sd-gutter-y: 0}.sd-g-lg-0,.sd-gx-lg-0{--sd-gutter-x: 0}.sd-g-lg-1,.sd-gy-lg-1{--sd-gutter-y: 0.25rem}.sd-g-lg-1,.sd-gx-lg-1{--sd-gutter-x: 0.25rem}.sd-g-lg-2,.sd-gy-lg-2{--sd-gutter-y: 0.5rem}.sd-g-lg-2,.sd-gx-lg-2{--sd-gutter-x: 0.5rem}.sd-g-lg-3,.sd-gy-lg-3{--sd-gutter-y: 1rem}.sd-g-lg-3,.sd-gx-lg-3{--sd-gutter-x: 1rem}.sd-g-lg-4,.sd-gy-lg-4{--sd-gutter-y: 1.5rem}.sd-g-lg-4,.sd-gx-lg-4{--sd-gutter-x: 1.5rem}.sd-g-lg-5,.sd-gy-lg-5{--sd-gutter-y: 3rem}.sd-g-lg-5,.sd-gx-lg-5{--sd-gutter-x: 3rem}}@media(min-width: 1200px){.sd-col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-xl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-xl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-xl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-xl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-xl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-xl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-xl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-xl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-xl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-xl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-xl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-xl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-xl-0,.sd-gy-xl-0{--sd-gutter-y: 0}.sd-g-xl-0,.sd-gx-xl-0{--sd-gutter-x: 0}.sd-g-xl-1,.sd-gy-xl-1{--sd-gutter-y: 0.25rem}.sd-g-xl-1,.sd-gx-xl-1{--sd-gutter-x: 0.25rem}.sd-g-xl-2,.sd-gy-xl-2{--sd-gutter-y: 0.5rem}.sd-g-xl-2,.sd-gx-xl-2{--sd-gutter-x: 0.5rem}.sd-g-xl-3,.sd-gy-xl-3{--sd-gutter-y: 1rem}.sd-g-xl-3,.sd-gx-xl-3{--sd-gutter-x: 1rem}.sd-g-xl-4,.sd-gy-xl-4{--sd-gutter-y: 1.5rem}.sd-g-xl-4,.sd-gx-xl-4{--sd-gutter-x: 1.5rem}.sd-g-xl-5,.sd-gy-xl-5{--sd-gutter-y: 3rem}.sd-g-xl-5,.sd-gx-xl-5{--sd-gutter-x: 3rem}}.sd-sphinx-override,.sd-sphinx-override *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sd-sphinx-override p{margin-top:0} +:root{--sd-color-primary: #007bff;--sd-color-secondary: #6c757d;--sd-color-success: #28a745;--sd-color-info: #17a2b8;--sd-color-warning: #f0b37e;--sd-color-danger: #dc3545;--sd-color-light: #f8f9fa;--sd-color-muted: #6c757d;--sd-color-dark: #212529;--sd-color-primary-highlight: #0069d9;--sd-color-secondary-highlight: #5c636a;--sd-color-success-highlight: #228e3b;--sd-color-info-highlight: #148a9c;--sd-color-warning-highlight: #cc986b;--sd-color-danger-highlight: #bb2d3b;--sd-color-light-highlight: #d3d4d5;--sd-color-muted-highlight: #5c636a;--sd-color-dark-highlight: #1c1f23;--sd-color-primary-text: #fff;--sd-color-secondary-text: #fff;--sd-color-success-text: #fff;--sd-color-info-text: #fff;--sd-color-warning-text: #212529;--sd-color-danger-text: #fff;--sd-color-light-text: #212529;--sd-color-muted-text: #fff;--sd-color-dark-text: #fff;--sd-color-shadow: rgba(0, 0, 0, 0.15);--sd-color-card-border: rgba(0, 0, 0, 0.125);--sd-color-card-border-hover: rgba(0, 0, 0, 0.25);--sd-color-card-background: transparent;--sd-color-card-text: inherit;--sd-color-card-header: transparent;--sd-color-card-footer: transparent}.sd-bg-transparent{background-color:transparent !important}.sd-bg-primary{background-color:var(--sd-color-primary) !important}.sd-bg-text-primary{color:var(--sd-color-primary-text) !important}button.sd-bg-primary:focus,button.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}a.sd-bg-primary:focus,a.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}.sd-bg-secondary{background-color:var(--sd-color-secondary) !important}.sd-bg-text-secondary{color:var(--sd-color-secondary-text) !important}button.sd-bg-secondary:focus,button.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}a.sd-bg-secondary:focus,a.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}.sd-bg-success{background-color:var(--sd-color-success) !important}.sd-bg-text-success{color:var(--sd-color-success-text) !important}button.sd-bg-success:focus,button.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}a.sd-bg-success:focus,a.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}.sd-bg-info{background-color:var(--sd-color-info) !important}.sd-bg-text-info{color:var(--sd-color-info-text) !important}button.sd-bg-info:focus,button.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}a.sd-bg-info:focus,a.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}.sd-bg-warning{background-color:var(--sd-color-warning) !important}.sd-bg-text-warning{color:var(--sd-color-warning-text) !important}button.sd-bg-warning:focus,button.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}a.sd-bg-warning:focus,a.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}.sd-bg-danger{background-color:var(--sd-color-danger) !important}.sd-bg-text-danger{color:var(--sd-color-danger-text) !important}button.sd-bg-danger:focus,button.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}a.sd-bg-danger:focus,a.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}.sd-bg-light{background-color:var(--sd-color-light) !important}.sd-bg-text-light{color:var(--sd-color-light-text) !important}button.sd-bg-light:focus,button.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}a.sd-bg-light:focus,a.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}.sd-bg-muted{background-color:var(--sd-color-muted) !important}.sd-bg-text-muted{color:var(--sd-color-muted-text) !important}button.sd-bg-muted:focus,button.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}a.sd-bg-muted:focus,a.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}.sd-bg-dark{background-color:var(--sd-color-dark) !important}.sd-bg-text-dark{color:var(--sd-color-dark-text) !important}button.sd-bg-dark:focus,button.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}a.sd-bg-dark:focus,a.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}.sd-text-primary{color:var(--sd-color-primary) !important}a.sd-text-primary:focus,a.sd-text-primary:hover{color:var(--sd-color-primary-highlight) !important}.sd-text-secondary{color:var(--sd-color-secondary) !important}a.sd-text-secondary:focus,a.sd-text-secondary:hover{color:var(--sd-color-secondary-highlight) !important}.sd-text-success{color:var(--sd-color-success) !important}a.sd-text-success:focus,a.sd-text-success:hover{color:var(--sd-color-success-highlight) !important}.sd-text-info{color:var(--sd-color-info) !important}a.sd-text-info:focus,a.sd-text-info:hover{color:var(--sd-color-info-highlight) !important}.sd-text-warning{color:var(--sd-color-warning) !important}a.sd-text-warning:focus,a.sd-text-warning:hover{color:var(--sd-color-warning-highlight) !important}.sd-text-danger{color:var(--sd-color-danger) !important}a.sd-text-danger:focus,a.sd-text-danger:hover{color:var(--sd-color-danger-highlight) !important}.sd-text-light{color:var(--sd-color-light) !important}a.sd-text-light:focus,a.sd-text-light:hover{color:var(--sd-color-light-highlight) !important}.sd-text-muted{color:var(--sd-color-muted) !important}a.sd-text-muted:focus,a.sd-text-muted:hover{color:var(--sd-color-muted-highlight) !important}.sd-text-dark{color:var(--sd-color-dark) !important}a.sd-text-dark:focus,a.sd-text-dark:hover{color:var(--sd-color-dark-highlight) !important}.sd-outline-primary{border-color:var(--sd-color-primary) !important;border:1px solid !important}a.sd-outline-primary:focus,a.sd-outline-primary:hover{border-color:var(--sd-color-primary-highlight) !important}.sd-outline-secondary{border-color:var(--sd-color-secondary) !important;border:1px solid !important}a.sd-outline-secondary:focus,a.sd-outline-secondary:hover{border-color:var(--sd-color-secondary-highlight) !important}.sd-outline-success{border-color:var(--sd-color-success) !important;border:1px solid !important}a.sd-outline-success:focus,a.sd-outline-success:hover{border-color:var(--sd-color-success-highlight) !important}.sd-outline-info{border-color:var(--sd-color-info) !important;border:1px solid !important}a.sd-outline-info:focus,a.sd-outline-info:hover{border-color:var(--sd-color-info-highlight) !important}.sd-outline-warning{border-color:var(--sd-color-warning) !important;border:1px solid !important}a.sd-outline-warning:focus,a.sd-outline-warning:hover{border-color:var(--sd-color-warning-highlight) !important}.sd-outline-danger{border-color:var(--sd-color-danger) !important;border:1px solid !important}a.sd-outline-danger:focus,a.sd-outline-danger:hover{border-color:var(--sd-color-danger-highlight) !important}.sd-outline-light{border-color:var(--sd-color-light) !important;border:1px solid !important}a.sd-outline-light:focus,a.sd-outline-light:hover{border-color:var(--sd-color-light-highlight) !important}.sd-outline-muted{border-color:var(--sd-color-muted) !important;border:1px solid !important}a.sd-outline-muted:focus,a.sd-outline-muted:hover{border-color:var(--sd-color-muted-highlight) !important}.sd-outline-dark{border-color:var(--sd-color-dark) !important;border:1px solid !important}a.sd-outline-dark:focus,a.sd-outline-dark:hover{border-color:var(--sd-color-dark-highlight) !important}.sd-shadow{box-shadow:0 .5rem 1rem var(--sd-color-shadow) !important}.sd-p-0{padding:0 !important}.sd-pt-0,.sd-py-0{padding-top:0 !important}.sd-pr-0,.sd-px-0{padding-right:0 !important}.sd-pb-0,.sd-py-0{padding-bottom:0 !important}.sd-pl-0,.sd-px-0{padding-left:0 !important}.sd-p-1{padding:.25rem !important}.sd-pt-1,.sd-py-1{padding-top:.25rem !important}.sd-pr-1,.sd-px-1{padding-right:.25rem !important}.sd-pb-1,.sd-py-1{padding-bottom:.25rem !important}.sd-pl-1,.sd-px-1{padding-left:.25rem !important}.sd-p-2{padding:.5rem !important}.sd-pt-2,.sd-py-2{padding-top:.5rem !important}.sd-pr-2,.sd-px-2{padding-right:.5rem !important}.sd-pb-2,.sd-py-2{padding-bottom:.5rem !important}.sd-pl-2,.sd-px-2{padding-left:.5rem !important}.sd-p-3{padding:1rem !important}.sd-pt-3,.sd-py-3{padding-top:1rem !important}.sd-pr-3,.sd-px-3{padding-right:1rem !important}.sd-pb-3,.sd-py-3{padding-bottom:1rem !important}.sd-pl-3,.sd-px-3{padding-left:1rem !important}.sd-p-4{padding:1.5rem !important}.sd-pt-4,.sd-py-4{padding-top:1.5rem !important}.sd-pr-4,.sd-px-4{padding-right:1.5rem !important}.sd-pb-4,.sd-py-4{padding-bottom:1.5rem !important}.sd-pl-4,.sd-px-4{padding-left:1.5rem !important}.sd-p-5{padding:3rem !important}.sd-pt-5,.sd-py-5{padding-top:3rem !important}.sd-pr-5,.sd-px-5{padding-right:3rem !important}.sd-pb-5,.sd-py-5{padding-bottom:3rem !important}.sd-pl-5,.sd-px-5{padding-left:3rem !important}.sd-m-auto{margin:auto !important}.sd-mt-auto,.sd-my-auto{margin-top:auto !important}.sd-mr-auto,.sd-mx-auto{margin-right:auto !important}.sd-mb-auto,.sd-my-auto{margin-bottom:auto !important}.sd-ml-auto,.sd-mx-auto{margin-left:auto !important}.sd-m-0{margin:0 !important}.sd-mt-0,.sd-my-0{margin-top:0 !important}.sd-mr-0,.sd-mx-0{margin-right:0 !important}.sd-mb-0,.sd-my-0{margin-bottom:0 !important}.sd-ml-0,.sd-mx-0{margin-left:0 !important}.sd-m-1{margin:.25rem !important}.sd-mt-1,.sd-my-1{margin-top:.25rem !important}.sd-mr-1,.sd-mx-1{margin-right:.25rem !important}.sd-mb-1,.sd-my-1{margin-bottom:.25rem !important}.sd-ml-1,.sd-mx-1{margin-left:.25rem !important}.sd-m-2{margin:.5rem !important}.sd-mt-2,.sd-my-2{margin-top:.5rem !important}.sd-mr-2,.sd-mx-2{margin-right:.5rem !important}.sd-mb-2,.sd-my-2{margin-bottom:.5rem !important}.sd-ml-2,.sd-mx-2{margin-left:.5rem !important}.sd-m-3{margin:1rem !important}.sd-mt-3,.sd-my-3{margin-top:1rem !important}.sd-mr-3,.sd-mx-3{margin-right:1rem !important}.sd-mb-3,.sd-my-3{margin-bottom:1rem !important}.sd-ml-3,.sd-mx-3{margin-left:1rem !important}.sd-m-4{margin:1.5rem !important}.sd-mt-4,.sd-my-4{margin-top:1.5rem !important}.sd-mr-4,.sd-mx-4{margin-right:1.5rem !important}.sd-mb-4,.sd-my-4{margin-bottom:1.5rem !important}.sd-ml-4,.sd-mx-4{margin-left:1.5rem !important}.sd-m-5{margin:3rem !important}.sd-mt-5,.sd-my-5{margin-top:3rem !important}.sd-mr-5,.sd-mx-5{margin-right:3rem !important}.sd-mb-5,.sd-my-5{margin-bottom:3rem !important}.sd-ml-5,.sd-mx-5{margin-left:3rem !important}.sd-w-25{width:25% !important}.sd-w-50{width:50% !important}.sd-w-75{width:75% !important}.sd-w-100{width:100% !important}.sd-w-auto{width:auto !important}.sd-h-25{height:25% !important}.sd-h-50{height:50% !important}.sd-h-75{height:75% !important}.sd-h-100{height:100% !important}.sd-h-auto{height:auto !important}.sd-d-none{display:none !important}.sd-d-inline{display:inline !important}.sd-d-inline-block{display:inline-block !important}.sd-d-block{display:block !important}.sd-d-grid{display:grid !important}.sd-d-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}@media(min-width: 576px){.sd-d-sm-none{display:none !important}.sd-d-sm-inline{display:inline !important}.sd-d-sm-inline-block{display:inline-block !important}.sd-d-sm-block{display:block !important}.sd-d-sm-grid{display:grid !important}.sd-d-sm-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-sm-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 768px){.sd-d-md-none{display:none !important}.sd-d-md-inline{display:inline !important}.sd-d-md-inline-block{display:inline-block !important}.sd-d-md-block{display:block !important}.sd-d-md-grid{display:grid !important}.sd-d-md-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-md-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 992px){.sd-d-lg-none{display:none !important}.sd-d-lg-inline{display:inline !important}.sd-d-lg-inline-block{display:inline-block !important}.sd-d-lg-block{display:block !important}.sd-d-lg-grid{display:grid !important}.sd-d-lg-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-lg-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 1200px){.sd-d-xl-none{display:none !important}.sd-d-xl-inline{display:inline !important}.sd-d-xl-inline-block{display:inline-block !important}.sd-d-xl-block{display:block !important}.sd-d-xl-grid{display:grid !important}.sd-d-xl-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-xl-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}.sd-text-justify{text-align:justify !important}.sd-text-left{text-align:left !important}.sd-text-right{text-align:right !important}.sd-text-center{text-align:center !important}.sd-font-weight-light{font-weight:300 !important}.sd-font-weight-lighter{font-weight:lighter !important}.sd-font-weight-normal{font-weight:400 !important}.sd-font-weight-bold{font-weight:700 !important}.sd-font-weight-bolder{font-weight:bolder !important}.sd-font-italic{font-style:italic !important}.sd-text-decoration-none{text-decoration:none !important}.sd-text-lowercase{text-transform:lowercase !important}.sd-text-uppercase{text-transform:uppercase !important}.sd-text-capitalize{text-transform:capitalize !important}.sd-text-wrap{white-space:normal !important}.sd-text-nowrap{white-space:nowrap !important}.sd-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.sd-badge:empty{display:none}a.sd-badge{text-decoration:none}.sd-btn .sd-badge{position:relative;top:-1px}.sd-rounded-0{border-radius:0 !important}.sd-rounded-1{border-radius:.2rem !important}.sd-rounded-2{border-radius:.25rem !important}.sd-rounded-3{border-radius:.3rem !important}.sd-rounded-pill{border-radius:50rem !important}.sd-rounded-circle{border-radius:50% !important}.sd-btn{background-color:transparent;border:1px solid transparent;border-radius:.25rem;cursor:pointer;display:inline-block;font-weight:400;font-size:1rem;line-height:1.5;padding:.375rem .75rem;text-align:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;vertical-align:middle;user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none}.sd-btn:hover{text-decoration:none}@media(prefers-reduced-motion: reduce){.sd-btn{transition:none}}.sd-btn-primary,.sd-btn-outline-primary:hover,.sd-btn-outline-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-primary:hover,.sd-btn-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary-highlight) !important;border-color:var(--sd-color-primary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-primary{color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary,.sd-btn-outline-secondary:hover,.sd-btn-outline-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary:hover,.sd-btn-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary-highlight) !important;border-color:var(--sd-color-secondary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-secondary{color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success,.sd-btn-outline-success:hover,.sd-btn-outline-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success:hover,.sd-btn-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success-highlight) !important;border-color:var(--sd-color-success-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-success{color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info,.sd-btn-outline-info:hover,.sd-btn-outline-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info:hover,.sd-btn-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info-highlight) !important;border-color:var(--sd-color-info-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-info{color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning,.sd-btn-outline-warning:hover,.sd-btn-outline-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning:hover,.sd-btn-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning-highlight) !important;border-color:var(--sd-color-warning-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-warning{color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger,.sd-btn-outline-danger:hover,.sd-btn-outline-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger:hover,.sd-btn-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger-highlight) !important;border-color:var(--sd-color-danger-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-danger{color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light,.sd-btn-outline-light:hover,.sd-btn-outline-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light:hover,.sd-btn-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light-highlight) !important;border-color:var(--sd-color-light-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-light{color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted,.sd-btn-outline-muted:hover,.sd-btn-outline-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted:hover,.sd-btn-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted-highlight) !important;border-color:var(--sd-color-muted-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-muted{color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark,.sd-btn-outline-dark:hover,.sd-btn-outline-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark:hover,.sd-btn-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark-highlight) !important;border-color:var(--sd-color-dark-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-dark{color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.sd-octicon{display:inline-block;fill:currentColor;vertical-align:middle}.sd-card{background-clip:border-box;background-color:var(--sd-color-card-background);border:1px solid var(--sd-color-card-border);border-radius:.25rem;color:var(--sd-color-card-text);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;position:relative;word-wrap:break-word}.sd-card>hr{margin-left:0;margin-right:0}.sd-card-hover:hover{border-color:var(--sd-color-card-border-hover)}.sd-card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem 1rem}.sd-card-title{margin-bottom:.5rem}.sd-card-subtitle{margin-top:-0.25rem;margin-bottom:0}.sd-card-text:last-child{margin-bottom:0}.sd-card-link:hover{text-decoration:none}.sd-card-link+.card-link{margin-left:1rem}.sd-card-header{padding:.5rem 1rem;margin-bottom:0;background-color:var(--sd-color-card-header);border-bottom:1px solid var(--sd-color-card-border)}.sd-card-header:first-child{border-radius:calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0}.sd-card-footer{padding:.5rem 1rem;background-color:var(--sd-color-card-footer);border-top:1px solid var(--sd-color-card-border)}.sd-card-footer:last-child{border-radius:0 0 calc(0.25rem - 1px) calc(0.25rem - 1px)}.sd-card-header-tabs{margin-right:-0.5rem;margin-bottom:-0.5rem;margin-left:-0.5rem;border-bottom:0}.sd-card-header-pills{margin-right:-0.5rem;margin-left:-0.5rem}.sd-card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom,.sd-card-img-top{width:100%}.sd-card-img,.sd-card-img-top{border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom{border-bottom-left-radius:calc(0.25rem - 1px);border-bottom-right-radius:calc(0.25rem - 1px)}.sd-container,.sd-container-fluid,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container-xl{margin-left:auto;margin-right:auto;padding-left:var(--sd-gutter-x, 0.75rem);padding-right:var(--sd-gutter-x, 0.75rem);width:100%}@media(min-width: 576px){.sd-container-sm,.sd-container{max-width:540px}}@media(min-width: 768px){.sd-container-md,.sd-container-sm,.sd-container{max-width:720px}}@media(min-width: 992px){.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:960px}}@media(min-width: 1200px){.sd-container-xl,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:1140px}}.sd-row{--sd-gutter-x: 1.5rem;--sd-gutter-y: 0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(var(--sd-gutter-y) * -1);margin-right:calc(var(--sd-gutter-x) * -0.5);margin-left:calc(var(--sd-gutter-x) * -0.5)}.sd-row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--sd-gutter-x) * 0.5);padding-left:calc(var(--sd-gutter-x) * 0.5);margin-top:var(--sd-gutter-y)}.sd-col{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}@media(min-width: 576px){.sd-col-sm{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-sm-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-sm-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-sm-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-sm-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-sm-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-sm-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-sm-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-sm-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-sm-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-sm-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-sm-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-sm-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-sm-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 768px){.sd-col-md{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-md-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-md-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-md-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-md-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-md-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-md-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-md-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-md-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-md-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-md-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-md-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-md-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-md-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 992px){.sd-col-lg{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-lg-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-lg-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-lg-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-lg-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-lg-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-lg-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-lg-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-lg-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-lg-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-lg-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-lg-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-lg-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-lg-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 1200px){.sd-col-xl{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-xl-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-xl-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-xl-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-xl-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-xl-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-xl-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-xl-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-xl-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-xl-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-xl-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-xl-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-xl-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-xl-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}.sd-col-auto{flex:0 0 auto;-ms-flex:0 0 auto;width:auto}.sd-col-1{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}.sd-col-2{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-col-3{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-col-4{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-col-5{flex:0 0 auto;-ms-flex:0 0 auto;width:41.6666666667%}.sd-col-6{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-col-7{flex:0 0 auto;-ms-flex:0 0 auto;width:58.3333333333%}.sd-col-8{flex:0 0 auto;-ms-flex:0 0 auto;width:66.6666666667%}.sd-col-9{flex:0 0 auto;-ms-flex:0 0 auto;width:75%}.sd-col-10{flex:0 0 auto;-ms-flex:0 0 auto;width:83.3333333333%}.sd-col-11{flex:0 0 auto;-ms-flex:0 0 auto;width:91.6666666667%}.sd-col-12{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-g-0,.sd-gy-0{--sd-gutter-y: 0}.sd-g-0,.sd-gx-0{--sd-gutter-x: 0}.sd-g-1,.sd-gy-1{--sd-gutter-y: 0.25rem}.sd-g-1,.sd-gx-1{--sd-gutter-x: 0.25rem}.sd-g-2,.sd-gy-2{--sd-gutter-y: 0.5rem}.sd-g-2,.sd-gx-2{--sd-gutter-x: 0.5rem}.sd-g-3,.sd-gy-3{--sd-gutter-y: 1rem}.sd-g-3,.sd-gx-3{--sd-gutter-x: 1rem}.sd-g-4,.sd-gy-4{--sd-gutter-y: 1.5rem}.sd-g-4,.sd-gx-4{--sd-gutter-x: 1.5rem}.sd-g-5,.sd-gy-5{--sd-gutter-y: 3rem}.sd-g-5,.sd-gx-5{--sd-gutter-x: 3rem}@media(min-width: 576px){.sd-col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-sm-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-sm-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-sm-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-sm-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-sm-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-sm-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-sm-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-sm-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-sm-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-sm-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-sm-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-sm-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-sm-0,.sd-gy-sm-0{--sd-gutter-y: 0}.sd-g-sm-0,.sd-gx-sm-0{--sd-gutter-x: 0}.sd-g-sm-1,.sd-gy-sm-1{--sd-gutter-y: 0.25rem}.sd-g-sm-1,.sd-gx-sm-1{--sd-gutter-x: 0.25rem}.sd-g-sm-2,.sd-gy-sm-2{--sd-gutter-y: 0.5rem}.sd-g-sm-2,.sd-gx-sm-2{--sd-gutter-x: 0.5rem}.sd-g-sm-3,.sd-gy-sm-3{--sd-gutter-y: 1rem}.sd-g-sm-3,.sd-gx-sm-3{--sd-gutter-x: 1rem}.sd-g-sm-4,.sd-gy-sm-4{--sd-gutter-y: 1.5rem}.sd-g-sm-4,.sd-gx-sm-4{--sd-gutter-x: 1.5rem}.sd-g-sm-5,.sd-gy-sm-5{--sd-gutter-y: 3rem}.sd-g-sm-5,.sd-gx-sm-5{--sd-gutter-x: 3rem}}@media(min-width: 768px){.sd-col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-md-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-md-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-md-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-md-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-md-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-md-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-md-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-md-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-md-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-md-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-md-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-md-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-md-0,.sd-gy-md-0{--sd-gutter-y: 0}.sd-g-md-0,.sd-gx-md-0{--sd-gutter-x: 0}.sd-g-md-1,.sd-gy-md-1{--sd-gutter-y: 0.25rem}.sd-g-md-1,.sd-gx-md-1{--sd-gutter-x: 0.25rem}.sd-g-md-2,.sd-gy-md-2{--sd-gutter-y: 0.5rem}.sd-g-md-2,.sd-gx-md-2{--sd-gutter-x: 0.5rem}.sd-g-md-3,.sd-gy-md-3{--sd-gutter-y: 1rem}.sd-g-md-3,.sd-gx-md-3{--sd-gutter-x: 1rem}.sd-g-md-4,.sd-gy-md-4{--sd-gutter-y: 1.5rem}.sd-g-md-4,.sd-gx-md-4{--sd-gutter-x: 1.5rem}.sd-g-md-5,.sd-gy-md-5{--sd-gutter-y: 3rem}.sd-g-md-5,.sd-gx-md-5{--sd-gutter-x: 3rem}}@media(min-width: 992px){.sd-col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-lg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-lg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-lg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-lg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-lg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-lg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-lg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-lg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-lg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-lg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-lg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-lg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-lg-0,.sd-gy-lg-0{--sd-gutter-y: 0}.sd-g-lg-0,.sd-gx-lg-0{--sd-gutter-x: 0}.sd-g-lg-1,.sd-gy-lg-1{--sd-gutter-y: 0.25rem}.sd-g-lg-1,.sd-gx-lg-1{--sd-gutter-x: 0.25rem}.sd-g-lg-2,.sd-gy-lg-2{--sd-gutter-y: 0.5rem}.sd-g-lg-2,.sd-gx-lg-2{--sd-gutter-x: 0.5rem}.sd-g-lg-3,.sd-gy-lg-3{--sd-gutter-y: 1rem}.sd-g-lg-3,.sd-gx-lg-3{--sd-gutter-x: 1rem}.sd-g-lg-4,.sd-gy-lg-4{--sd-gutter-y: 1.5rem}.sd-g-lg-4,.sd-gx-lg-4{--sd-gutter-x: 1.5rem}.sd-g-lg-5,.sd-gy-lg-5{--sd-gutter-y: 3rem}.sd-g-lg-5,.sd-gx-lg-5{--sd-gutter-x: 3rem}}@media(min-width: 1200px){.sd-col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-xl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-xl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-xl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-xl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-xl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-xl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-xl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-xl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-xl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-xl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-xl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-xl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-xl-0,.sd-gy-xl-0{--sd-gutter-y: 0}.sd-g-xl-0,.sd-gx-xl-0{--sd-gutter-x: 0}.sd-g-xl-1,.sd-gy-xl-1{--sd-gutter-y: 0.25rem}.sd-g-xl-1,.sd-gx-xl-1{--sd-gutter-x: 0.25rem}.sd-g-xl-2,.sd-gy-xl-2{--sd-gutter-y: 0.5rem}.sd-g-xl-2,.sd-gx-xl-2{--sd-gutter-x: 0.5rem}.sd-g-xl-3,.sd-gy-xl-3{--sd-gutter-y: 1rem}.sd-g-xl-3,.sd-gx-xl-3{--sd-gutter-x: 1rem}.sd-g-xl-4,.sd-gy-xl-4{--sd-gutter-y: 1.5rem}.sd-g-xl-4,.sd-gx-xl-4{--sd-gutter-x: 1.5rem}.sd-g-xl-5,.sd-gy-xl-5{--sd-gutter-y: 3rem}.sd-g-xl-5,.sd-gx-xl-5{--sd-gutter-x: 3rem}}details.sd-dropdown{position:relative;width:100%}details.sd-dropdown .sd-summary-title{padding-right:3em !important;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}details.sd-dropdown:hover{cursor:pointer}details.sd-dropdown .sd-summary-content{cursor:default}details.sd-dropdown summary{list-style:none;padding:1em}details.sd-dropdown summary .sd-octicon.no-title{vertical-align:middle}details.sd-dropdown[open] summary .sd-octicon.no-title{visibility:hidden}details.sd-dropdown summary::-webkit-details-marker{display:none}details.sd-dropdown summary:focus{outline:none}details.sd-dropdown .sd-summary-icon{margin-right:.5rem}details.sd-dropdown .sd-summary-icon svg{opacity:.8}details.sd-dropdown summary:hover .sd-summary-up svg,details.sd-dropdown summary:hover .sd-summary-down svg{opacity:1}details.sd-dropdown .sd-summary-up svg,details.sd-dropdown .sd-summary-down svg{display:block;opacity:.6}details.sd-dropdown .sd-summary-up,details.sd-dropdown .sd-summary-down{pointer-events:none;position:absolute;right:1em;top:.75em}details.sd-dropdown[open]>.sd-summary-title .sd-summary-down{visibility:hidden}details.sd-dropdown:not([open])>.sd-summary-title .sd-summary-up{visibility:hidden}details.sd-dropdown:not([open]).sd-card{border-color:transparent}details.sd-dropdown:not([open])>.sd-card-header{border:1px solid var(--sd-color-card-border);border-radius:.25rem}details.sd-dropdown.sd-fade-in[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out;animation:sd-fade-in .5s ease-in-out}details.sd-dropdown.sd-fade-in-slide-down[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out}@keyframes sd-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes sd-slide-down{0%{transform:translate(0, -10px)}100%{transform:translate(0, 0)}}.sd-sphinx-override,.sd-sphinx-override *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sd-sphinx-override p{margin-top:0} diff --git a/sphinx_design/dropdown.py b/sphinx_design/dropdown.py new file mode 100644 index 0000000..dc1cce9 --- /dev/null +++ b/sphinx_design/dropdown.py @@ -0,0 +1,235 @@ +"""Originally Adapted from sphinxcontrib.details.directive +""" +from docutils import nodes +from docutils.parsers.rst import directives +from sphinx.transforms.post_transforms import SphinxPostTransform +from sphinx.util.docutils import SphinxDirective + +from sphinx_design.shared import ( + SEMANTIC_COLORS, + create_component, + is_component, + make_choice, +) + +from .icons import get_opticon, list_opticons + + +def setup_dropdown(app): + app.add_node(dropdown_main, html=(visit_dropdown_main, depart_dropdown_main)) + app.add_node(dropdown_title, html=(visit_dropdown_title, depart_dropdown_title)) + app.add_directive("dropdown", DropdownDirective) + app.add_post_transform(DropdownHtmlTransform) + + +class dropdown_main(nodes.Element, nodes.General): + pass + + +class dropdown_title(nodes.TextElement, nodes.General): + pass + + +def visit_dropdown_main(self, node): + if node.get("opened"): + self.body.append(self.starttag(node, "details", open="open")) + else: + self.body.append(self.starttag(node, "details")) + + +def depart_dropdown_main(self, node): + self.body.append("") + + +def visit_dropdown_title(self, node): + self.body.append(self.starttag(node, "summary")) + + +def depart_dropdown_title(self, node): + self.body.append("") + + +class DropdownDirective(SphinxDirective): + """A directive to generate a collapsible container. + + Note: This directive generates a single container, + for the title (optional) and content:: + + + + ...title nodes + ...content nodes + + This allows for a default rendering in non-HTML outputs. + + The ``DropdownHtmlTransform`` then transforms this container + into the HTML specific structure. + """ + + optional_arguments = 1 # title of dropdown + final_argument_whitespace = True + has_content = True + option_spec = { + "open": directives.flag, # make open by default + "color": make_choice(SEMANTIC_COLORS), + "icon": make_choice(list_opticons()), + "animate": make_choice(("fade-in", "fade-in-slide-down")), + "name": directives.unchanged, + "class-container": directives.class_option, + "class-title": directives.class_option, + "class-body": directives.class_option, + } + + def run(self): + """Run the directive""" + # default classes + classes = { + "container_classes": self.options.get("class-container", ["sd-mb-3"]), + "title_classes": self.options.get("class-title", []), + "body_classes": self.options.get("class-body", []), + } + + # add color classes + title_color = self.options.get("color") + if title_color: + classes["title_classes"].extend( + [f"sd-bg-{title_color}", f"sd-bg-text-{title_color}"] + ) + + # add animation classes + if ( + "animate" in self.options + and ("sd-" + self.options["animate"]) not in classes["container_classes"] + ): + classes["container_classes"].append("sd-" + self.options["animate"]) + + container = create_component( + "dropdown", + opened="open" in self.options, + type="dropdown", + has_title=len(self.arguments) > 0, + icon=self.options.get("icon"), + **classes, + ) + self.set_source_info(container) + if self.arguments: + textnodes, messages = self.state.inline_text(self.arguments[0], self.lineno) + container += nodes.rubric(self.arguments[0], "", *textnodes) + container += messages + self.state.nested_parse(self.content, self.content_offset, container) + self.add_name(container) + return [container] + + +# Note the custom opticon here has thicker dots than: +# get_opticon("kebab-horizontal", classes="no-title", size=24) +KEBAB = """\ +""" + + +class DropdownHtmlTransform(SphinxPostTransform): + """Transform dropdown containers into the HTML specific AST structures:: + +
+ + ...title nodes +
+ ...content nodes + + """ + + default_priority = 200 + formats = ("html",) + + def run(self): + """Run the transform""" + for node in self.document.traverse(lambda node: is_component(node, "dropdown")): + + # TODO option to not have card css (but requires more formatting) + use_card = True + + open_marker = create_component( + "dropdown-open-marker", + classes=["sd-summary-up"], + children=[ + nodes.raw( + "", + nodes.Text(get_opticon("chevron-up", size=24)), + format="html", + ) + ], + ) + closed_marker = create_component( + "dropdown-closed-marker", + classes=["sd-summary-down"], + children=[ + nodes.raw( + "", + nodes.Text(get_opticon("chevron-down", size=24)), + format="html", + ) + ], + ) + + newnode = dropdown_main( + opened=node["opened"], + classes=["sd-sphinx-override", "sd-dropdown"] + + (["sd-card"] if use_card else ["sd-d-flex"]) + + node["container_classes"], + ) + + if node["has_title"]: + title_children = node[0].children + body_children = node[1:] + else: + title_children = [ + nodes.raw( + "...", + nodes.Text(KEBAB), + format="html", + ) + ] + body_children = node.children + if node["icon"]: + title_children.insert( + 0, + nodes.raw( + "", + nodes.Text(get_opticon(node["icon"], size=16)), + classes=["sd-summary-icon"], + format="html", + ), + ) + + newnode += dropdown_title( + "", + "", + *title_children, + closed_marker, + open_marker, + classes=["sd-summary-title"] + + (["sd-card-header"] if use_card else []) + + node["title_classes"], + ) + body_node = create_component( + "dropdown-body", + classes=["sd-summary-content"] + + (["sd-card-body"] if use_card else []) + + node["body_classes"], + children=body_children, + ) + if use_card: + for para in body_node.traverse(nodes.paragraph): + para["classes"] = ([] if "classes" in para else para["classes"]) + [ + "sd-card-text" + ] + newnode += body_node + # newnode += open_marker + node.replace_self(newnode) diff --git a/sphinx_design/extension.py b/sphinx_design/extension.py index 0818971..d021fdc 100644 --- a/sphinx_design/extension.py +++ b/sphinx_design/extension.py @@ -14,10 +14,12 @@ from . import compiled as css_module from .badges_buttons import setup_badges_and_buttons from .cards import setup_cards +from .dropdown import setup_dropdown from .grids import setup_grids +from .icons import setup_icons -def setup_extension(app: Sphinx): +def setup_extension(app: Sphinx) -> None: """Set up the sphinx extension.""" app.connect("builder-inited", update_css) app.connect("env-updated", update_css_links) @@ -29,6 +31,8 @@ def setup_extension(app: Sphinx): setup_badges_and_buttons(app) setup_cards(app) setup_grids(app) + setup_dropdown(app) + setup_icons(app) def update_css(app: Sphinx): diff --git a/sphinx_design/grids.py b/sphinx_design/grids.py index 52ca55b..1cfc115 100644 --- a/sphinx_design/grids.py +++ b/sphinx_design/grids.py @@ -239,6 +239,7 @@ def run(self) -> List[nodes.Node]: ] } card_options["width"] = "100" + card_options["margin"] = [] card = CardDirective.create_card(self, self.arguments, card_options) column += card return [column] diff --git a/sphinx_design/icons.py b/sphinx_design/icons.py new file mode 100644 index 0000000..6d99325 --- /dev/null +++ b/sphinx_design/icons.py @@ -0,0 +1,164 @@ +import json +from functools import lru_cache +from typing import Any, Dict, List, Optional, Tuple, Union + +try: + import importlib.resources as resources +except ImportError: + # python < 3.7 + import importlib_resources as resources # type: ignore[no-redef] + +from docutils import nodes +from sphinx.util.docutils import SphinxRole + +from . import compiled + +OPTICON_VERSION = "0.0.0-dd899ea" + +OPTICON_CSS = """\ +.octicon { + display: inline-block; + vertical-align: text-top; + fill: currentColor; +}""" + + +def setup_icons(app): + app.add_role("opticon-16", OpticonRole(16)) + app.add_role("opticon-24", OpticonRole(24)) + for style in ["fa", "fas", "fab"]: + # note: fa is deprecated in v5, fas is the default and fab is the other free option + app.add_role(style, FontawesomeRole(style)) + app.add_config_value("sd_fontawesome_latex", False, "env") + app.connect("config-inited", add_fontawesome_pkg) + app.add_node( + fontawesome, + html=(visit_fontawesome_html, depart_fontawesome_html), + latex=(visit_fontawesome_latex, None), + text=(None, None), + man=(None, None), + texinfo=(None, None), + ) + + +@lru_cache(1) +def get_opticon_data() -> Dict[str, Any]: + """Load all octicon data.""" + content = resources.read_text(compiled, "opticons.json") + return json.loads(content) + + +def list_opticons() -> List[str]: + """List available octicon names.""" + return list(get_opticon_data().keys()) + + +def get_opticon( + name: str, + classes: Optional[str] = None, + width: Optional[Union[int, float]] = None, + height: Optional[Union[int, float]] = None, + aria_label: Optional[str] = None, + size: int = 16, +) -> str: + """Return the HTML for an GitHub octicon SVG icon.""" + assert size in [16, 24], "size must be 16 or 24" + try: + data = get_opticon_data()[name] + except KeyError: + raise KeyError(f"Unrecognised opticon: {name}") + + content = data["heights"][str(size)]["path"] + options = { + "version": "1.1", + "width": data["heights"][str(size)]["width"], + "height": int(size), + "class": f"sd-octicon sd-octicon-{name}", + } + + if width is not None or height is not None: + if width is None and height is not None: + width = round((int(height) * options["width"]) / options["height"], 2) + if height is None and width is not None: + height = round((int(width) * options["height"]) / options["width"], 2) + options["width"] = width + options["height"] = height + + options["viewBox"] = f'0 0 {options["width"]} {options["height"]}' + + if classes is not None: + options["class"] += " " + classes.strip() + + if aria_label is not None: + options["aria-label"] = aria_label + options["role"] = "img" + else: + options["aria-hidden"] = "true" + + opt_string = " ".join(f'{k}="{v}"' for k, v in options.items()) + return f"{content}" + + +class OpticonRole(SphinxRole): + """Role to display a GitHub opticon SVG.""" + + def __init__(self, size: int) -> None: + super().__init__() + self.size = size + + def run(self) -> Tuple[List[nodes.Node], List[nodes.system_message]]: + """Run the role.""" + icon, classes = self.text.split(";", 1) if ";" in self.text else [self.text, ""] + icon = icon.strip() + try: + svg = get_opticon(icon, size=self.size, classes=classes) + except KeyError: + msg = self.inliner.reporter.error( + f"Unknown opticon name: {self.content}", line=self.lineno + ) + prb = self.inliner.problematic(self.rawtext, self.rawtext, msg) + return [prb], [msg] + node = nodes.raw("", nodes.Text(svg), format="html") + self.set_source_info(node) + return [node], [] + + +class fontawesome(nodes.Element, nodes.General): + """Node for rendering fontawesome icon.""" + + +class FontawesomeRole(SphinxRole): + """Role to display a Fontawesome icon.""" + + def __init__(self, style: str) -> None: + super().__init__() + self.style = style + + def run(self) -> Tuple[List[nodes.Node], List[nodes.system_message]]: + """Run the role.""" + icon, classes = self.text.split(";", 1) if ";" in self.text else [self.text, ""] + icon = icon.strip() + node = fontawesome( + icon=icon, classes=[self.style, f"fa-{icon}"] + classes.split() + ) + self.set_source_info(node) + return [node], [] + + +def visit_fontawesome_html(self, node): + self.body.append(self.starttag(node, "span", "")) + + +def depart_fontawesome_html(self, node): + self.body.append("") + + +def add_fontawesome_pkg(app, config): + if app.config.sd_fontawesome_latex: + app.add_latex_package("fontawesome") + + +def visit_fontawesome_latex(self, node): + if self.config.sd_fontawesome_latex: + self.body.append(f"\\faicon{{{node['icon_name']}}}") + raise nodes.SkipNode diff --git a/sphinx_design/shared.py b/sphinx_design/shared.py index b45f0a7..71fec6c 100644 --- a/sphinx_design/shared.py +++ b/sphinx_design/shared.py @@ -20,14 +20,27 @@ ) -def create_component(name: str, classes: List[str]) -> nodes.container: +def create_component( + name: str, + classes: Sequence[str] = (), + *, + children: Sequence[nodes.Node] = (), + **attributes, +) -> nodes.container: """Create a container node for a design component.""" - return nodes.container("", is_div=True, design_component=name, classes=classes) + node = nodes.container( + "", is_div=True, design_component=name, classes=list(classes), **attributes + ) + node.extend(children) + return node def is_component(node: nodes.Node, name: str): """Check if a node is a certain design component.""" - return node.get("design_component") == name + try: + return node.get("design_component") == name + except AttributeError: + return False def make_choice(choices: Sequence[str]): diff --git a/style/_colors.scss b/style/_colors.scss index d9a85e2..262f7fc 100644 --- a/style/_colors.scss +++ b/style/_colors.scss @@ -33,7 +33,7 @@ $semantic-colors: ( "secondary": $gray-600, "success": $green, "info": $cyan, - "warning": $yellow, + "warning": #f0b37e, "danger": $red, "light": $gray-100, "muted": $gray-600, @@ -41,7 +41,6 @@ $semantic-colors: ( ) !default; @function text-color($value) { - // TODO yellow still produces white text @return if(lightness($value) > 70, $gray-900, $white); } diff --git a/style/_dropdown.scss b/style/_dropdown.scss new file mode 100644 index 0000000..c77e419 --- /dev/null +++ b/style/_dropdown.scss @@ -0,0 +1,124 @@ +details.sd-dropdown { + + position: relative; + width: 100%; + + .sd-summary-title { + // don't overlap the chevron + padding-right: 3em !important; + -moz-user-select: none; + -ms-user-select: none; + -webkit-user-select: none; + user-select: none; + } + + &:hover { + cursor: pointer; + } + + .sd-summary-content { + cursor: default; + } + + summary { + // hide the default triangle marker + list-style: none; + padding: 1em; + + // Ellipsis added when no title + .sd-octicon.no-title { + vertical-align: middle; + } + } + + &[open] summary .sd-octicon.no-title { + visibility: hidden; + } + + // chrome doesn't yet support list-style + summary::-webkit-details-marker { + display: none; + } + + summary:focus { + outline: none; + } + + .sd-summary-icon { + margin-right: 0.5rem; + } + + .sd-summary-icon svg { + opacity: 0.8; + } + + summary:hover .sd-summary-up svg, + summary:hover .sd-summary-down svg { + opacity: 1; + } + + .sd-summary-up svg, + .sd-summary-down svg { + display: block; + opacity: 0.6; + } + + .sd-summary-up, + .sd-summary-down { + pointer-events: none; + position: absolute; + right: 1em; + top: 0.75em; + } + + &[open] > .sd-summary-title .sd-summary-down { + visibility: hidden; + } + + &:not([open]) > .sd-summary-title .sd-summary-up { + visibility: hidden; + } + + // Hide the card body border when not open + &:not([open]).sd-card { + border-color: transparent; + } + &:not([open]) > .sd-card-header { + border: 1px solid var(--sd-color-card-border); + border-radius: 0.25rem; + } + + // Transition animation + &.sd-fade-in[open] summary ~ * { + -moz-animation: sd-fade-in 0.5s ease-in-out; + -webkit-animation: sd-fade-in 0.5s ease-in-out; + animation: sd-fade-in 0.5s ease-in-out; + } + + &.sd-fade-in-slide-down[open] summary ~ * { + -moz-animation: sd-fade-in 0.5s ease-in-out, sd-slide-down 0.5s ease-in-out; + -webkit-animation: sd-fade-in 0.5s ease-in-out, + sd-slide-down 0.5s ease-in-out; + animation: sd-fade-in 0.5s ease-in-out, sd-slide-down 0.5s ease-in-out; + } +} + +@keyframes sd-fade-in { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +@keyframes sd-slide-down { + 0% { + transform: translate(0, -10px); + } + + 100% { + transform: translate(0, 0); + } +} diff --git a/style/_icons.scss b/style/_icons.scss new file mode 100644 index 0000000..4a25f22 --- /dev/null +++ b/style/_icons.scss @@ -0,0 +1,5 @@ +.sd-octicon { + display: inline-block; + fill: currentColor; + vertical-align: middle; +} diff --git a/style/index.scss b/style/index.scss index 453ccec..5e2b12e 100644 --- a/style/index.scss +++ b/style/index.scss @@ -5,6 +5,8 @@ @import './text'; @import './badge'; @import './button'; +@import './icons'; @import './cards'; @import './grids'; +@import './dropdown'; @import './overrides';