From 27624c1c29889f78ffad28634006f4be50f4f02b Mon Sep 17 00:00:00 2001 From: Daniel Siepmann Date: Fri, 13 Dec 2019 15:17:30 +0100 Subject: [PATCH] Add admonition --- ....tsconfig => 0_NewContentElement.tsconfig} | 5 ++ .../Mod/Wizards/Admonition.tsconfig | 29 ++++++++++ .../TCA/Overrides/tt_content_admonition.php | 56 +++++++++++++++++++ .../ContentElements/Admonition.typoscript | 12 ++++ Resources/Private/Language/locallang.xlf | 13 +++++ Resources/Private/Language/locallang_tca.xlf | 3 + .../Private/Sass/components/_admonition.scss | 28 ++++++++++ .../Private/Sass/components/_ckeditor.scss | 3 + Resources/Private/Sass/index.scss | 1 + .../Backend/ContentElements/Admonition.html | 10 ++++ .../Templates/ContentElements/Admonition.html | 19 +++++++ Resources/Public/Css/index.css | 2 +- 12 files changed, 180 insertions(+), 1 deletion(-) rename Configuration/PageTSconfig/Mod/Wizards/{NewContentElement.tsconfig => 0_NewContentElement.tsconfig} (83%) create mode 100644 Configuration/PageTSconfig/Mod/Wizards/Admonition.tsconfig create mode 100644 Configuration/TCA/Overrides/tt_content_admonition.php create mode 100644 Configuration/TypoScript/Setup/ContentElements/Admonition.typoscript create mode 100644 Resources/Private/Sass/components/_admonition.scss create mode 100644 Resources/Private/Sass/components/_ckeditor.scss create mode 100644 Resources/Private/Templates/Backend/ContentElements/Admonition.html create mode 100644 Resources/Private/Templates/ContentElements/Admonition.html diff --git a/Configuration/PageTSconfig/Mod/Wizards/NewContentElement.tsconfig b/Configuration/PageTSconfig/Mod/Wizards/0_NewContentElement.tsconfig similarity index 83% rename from Configuration/PageTSconfig/Mod/Wizards/NewContentElement.tsconfig rename to Configuration/PageTSconfig/Mod/Wizards/0_NewContentElement.tsconfig index 8135b18..d118cbb 100644 --- a/Configuration/PageTSconfig/Mod/Wizards/NewContentElement.tsconfig +++ b/Configuration/PageTSconfig/Mod/Wizards/0_NewContentElement.tsconfig @@ -24,3 +24,8 @@ mod.wizards.newContentElement.wizardItems { show = } } +TCEFORM.tt_content { + CType { + keepItems := addToList(text, image) + } +} diff --git a/Configuration/PageTSconfig/Mod/Wizards/Admonition.tsconfig b/Configuration/PageTSconfig/Mod/Wizards/Admonition.tsconfig new file mode 100644 index 0000000..0254efa --- /dev/null +++ b/Configuration/PageTSconfig/Mod/Wizards/Admonition.tsconfig @@ -0,0 +1,29 @@ +mod { + wizards.newContentElement.wizardItems.common { + elements { + admonition { + iconIdentifier = content-idea + title = Admonition + description = Displays a hint, note, … + tt_content_defValues { + CType = admonition + header_layout = note + } + } + } + show := addToList(admonition) + } + web_layout.tt_content.preview.admonition = EXT:ds_site/Resources/Private/Templates/Backend/ContentElements/Admonition.html +} +TCEFORM.tt_content { + CType.keepItems := addToList(admonition) + header_layout.types.admonition { + keepItems = hint, danger + addItems { + note = LLL:EXT:ds_site/Resources/Private/Language/locallang.xlf:frontend.content.admonition.header.note + hint = LLL:EXT:ds_site/Resources/Private/Language/locallang.xlf:frontend.content.admonition.header.hint + caution = LLL:EXT:ds_site/Resources/Private/Language/locallang.xlf:frontend.content.admonition.header.caution + danger = LLL:EXT:ds_site/Resources/Private/Language/locallang.xlf:frontend.content.admonition.header.danger + } + } +} diff --git a/Configuration/TCA/Overrides/tt_content_admonition.php b/Configuration/TCA/Overrides/tt_content_admonition.php new file mode 100644 index 0000000..46906ff --- /dev/null +++ b/Configuration/TCA/Overrides/tt_content_admonition.php @@ -0,0 +1,56 @@ + [ + 'typeicon_classes' => [ + $contentType => 'content-idea', + ], + ], + 'types' => [ + $contentType => [ + 'showitem' => implode(',', [ + '--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general', + '--palette--;;general', + 'header_layout', + 'bodytext', + '--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance', + '--palette--;;frames', + '--palette--;;appearanceLinks', + '--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language', + '--palette--;;language', + '--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access', + '--palette--;;hidden', + '--palette--;;access', + '--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories', + 'categories', + '--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes', + 'rowDescription', + '--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended', + ]), + 'columnsOverrides' => [ + 'bodytext' => [ + 'config' => [ + 'enableRichtext' => true, + 'richtextConfiguration' => 'default', + ], + ], + ], + ], + ], + ]); + + \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem( + $tableName, + 'CType', + [ + $languagePath . $contentType, + $contentType, + 'content-idea', + ], + 'image', + 'after' + ); +})('ds_site', 'tt_content', 'admonition'); diff --git a/Configuration/TypoScript/Setup/ContentElements/Admonition.typoscript b/Configuration/TypoScript/Setup/ContentElements/Admonition.typoscript new file mode 100644 index 0000000..1c54a3a --- /dev/null +++ b/Configuration/TypoScript/Setup/ContentElements/Admonition.typoscript @@ -0,0 +1,12 @@ +tt_content.admonition =< lib.contentElement +tt_content.admonition { + templateName = Admonition + + variables { + headerLayout > + } + + stdWrap { + editIcons := appendString(header_layout, bodytext) + } +} diff --git a/Resources/Private/Language/locallang.xlf b/Resources/Private/Language/locallang.xlf index 328f17d..cefc414 100644 --- a/Resources/Private/Language/locallang.xlf +++ b/Resources/Private/Language/locallang.xlf @@ -18,6 +18,19 @@ Images (media) + + + Note + + + Hint + + + Caution + + + Danger + diff --git a/Resources/Private/Language/locallang_tca.xlf b/Resources/Private/Language/locallang_tca.xlf index 3565f88..06ba84e 100644 --- a/Resources/Private/Language/locallang_tca.xlf +++ b/Resources/Private/Language/locallang_tca.xlf @@ -6,6 +6,9 @@ Published + + Admonition + diff --git a/Resources/Private/Sass/components/_admonition.scss b/Resources/Private/Sass/components/_admonition.scss new file mode 100644 index 0000000..d7a9d95 --- /dev/null +++ b/Resources/Private/Sass/components/_admonition.scss @@ -0,0 +1,28 @@ +aside { + &[class^='admonition-'] { + border: none; + border-left: solid $spacer / 4; + padding: $spacer; + margin-top: $spacer * 2; + + h1, h2, h3, h4, h5, h6 { + padding-top: 0; + } + } + + &.admonition-note { + border-color: $yellow; + } + + &.admonition-hint { + border-color: $green; + } + + &.admonition-caution { + border-color: $red-dark; + } + + &.admonition-danger { + border-color: $red-dark; + } +} diff --git a/Resources/Private/Sass/components/_ckeditor.scss b/Resources/Private/Sass/components/_ckeditor.scss new file mode 100644 index 0000000..9aeecd7 --- /dev/null +++ b/Resources/Private/Sass/components/_ckeditor.scss @@ -0,0 +1,3 @@ +body.cke_editable { + padding-top: $spacer; +} diff --git a/Resources/Private/Sass/index.scss b/Resources/Private/Sass/index.scss index 67c6ae2..953bc96 100644 --- a/Resources/Private/Sass/index.scss +++ b/Resources/Private/Sass/index.scss @@ -13,3 +13,4 @@ @import "components/codeHighlighting"; @import "components/feedit"; +@import "components/admonition"; diff --git a/Resources/Private/Templates/Backend/ContentElements/Admonition.html b/Resources/Private/Templates/Backend/ContentElements/Admonition.html new file mode 100644 index 0000000..5216991 --- /dev/null +++ b/Resources/Private/Templates/Backend/ContentElements/Admonition.html @@ -0,0 +1,10 @@ + + + {header_layout} +

{bodytext -> f:format.stripTags()}

+
+ diff --git a/Resources/Private/Templates/ContentElements/Admonition.html b/Resources/Private/Templates/ContentElements/Admonition.html new file mode 100644 index 0000000..4c7f01e --- /dev/null +++ b/Resources/Private/Templates/ContentElements/Admonition.html @@ -0,0 +1,19 @@ + + + {f:layout(name: 'Default')} + + + + + diff --git a/Resources/Public/Css/index.css b/Resources/Public/Css/index.css index 05ea726..540ec8d 100644 --- a/Resources/Public/Css/index.css +++ b/Resources/Public/Css/index.css @@ -1 +1 @@ -*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:monospace;font-size:1.25rem;font-weight:400;line-height:1.5;color:#d3d7cf;text-align:left;background-color:#2e3436}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}dl,h1,h2,h3,h4,h5,h6,ol,p,ul{margin-top:0;margin-bottom:.5rem}dl,ol,p,ul{margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}article.single-blog-post>header,ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote,figure{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a,a:hover{text-decoration:underline}a{background-color:transparent;color:#72b3cc}a:hover{color:#9cd9f0}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}img,svg{vertical-align:middle}img{border-style:none}svg{overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#b0b0b0;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.container,body{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,body{max-width:40rem}}@media (min-width:768px){.container,body{max-width:50rem}}@media (min-width:992px){.container,body{max-width:70rem}}@media (min-width:1200px){.container,body{max-width:100rem}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row,body>header,body>main{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,body>header nav,body>header>div{position:relative;width:100%;padding-right:15px;padding-left:15px}.col-auto{position:relative;padding-right:15px;padding-left:15px}.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto,body>main>aside,body>main>section{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.33333%;max-width:8.33333%}.col-2{flex:0 0 16.66667%;max-width:16.66667%}.col-3{flex:0 0 25%;max-width:25%}.col-4,body>header nav{flex:0 0 33.33333%;max-width:33.33333%}.col-5{flex:0 0 41.66667%;max-width:41.66667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333%;max-width:58.33333%}.col-8,body>header>div{flex:0 0 66.66667%;max-width:66.66667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333%;max-width:83.33333%}.col-11{flex:0 0 91.66667%;max-width:91.66667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.33333%;max-width:8.33333%}.col-sm-2{flex:0 0 16.66667%;max-width:16.66667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333%;max-width:33.33333%}.col-sm-5{flex:0 0 41.66667%;max-width:41.66667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333%;max-width:58.33333%}.col-sm-8{flex:0 0 66.66667%;max-width:66.66667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333%;max-width:83.33333%}.col-sm-11{flex:0 0 91.66667%;max-width:91.66667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.33333%;max-width:8.33333%}.col-md-2{flex:0 0 16.66667%;max-width:16.66667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4,body>main>aside{flex:0 0 33.33333%;max-width:33.33333%}.col-md-5{flex:0 0 41.66667%;max-width:41.66667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333%;max-width:58.33333%}.col-md-8,body>main>section{flex:0 0 66.66667%;max-width:66.66667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333%;max-width:83.33333%}.col-md-11{flex:0 0 91.66667%;max-width:91.66667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.33333%;max-width:8.33333%}.col-lg-2{flex:0 0 16.66667%;max-width:16.66667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333%;max-width:33.33333%}.col-lg-5{flex:0 0 41.66667%;max-width:41.66667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333%;max-width:58.33333%}.col-lg-8{flex:0 0 66.66667%;max-width:66.66667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333%;max-width:83.33333%}.col-lg-11{flex:0 0 91.66667%;max-width:91.66667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.33333%;max-width:8.33333%}.col-xl-2{flex:0 0 16.66667%;max-width:16.66667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333%;max-width:33.33333%}.col-xl-5{flex:0 0 41.66667%;max-width:41.66667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333%;max-width:58.33333%}.col-xl-8{flex:0 0 66.66667%;max-width:66.66667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333%;max-width:83.33333%}.col-xl-11{flex:0 0 91.66667%;max-width:91.66667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}}:root{--blue: #9CD9F0;--indigo: #6610f2;--purple: #6f42c1;--pink: #FBB1F9;--red: #E09690;--orange: #fd7e14;--yellow: #FFE377;--green: #CDEE69;--teal: #20c997;--cyan: #77DFD8;--white: #F7F7F7;--gray: #6c757d;--gray-dark: #343a40;--primary: #9CD9F0;--secondary: #72B3CC;--success: #CDEE69;--info: #9CD9F0;--warning: #FFE377;--danger: #E09690;--light: #B0B0B0;--dark: #5D5D5D;--breakpoint-xs: 0;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--font-family-sans-serif: "Helvetica", sans-serif;--font-family-monospace: monospace}body>header{padding-bottom:4rem}body>header>div a{font-size:3.125rem;text-decoration:none}body>header nav{padding-top:1rem}body>header nav a{color:#b0b0b0!important}aside nav ul{list-style:none;padding-left:0}li{padding-bottom:.5rem;padding-top:.5rem}body>footer{padding-top:2rem;text-align:center}body>footer nav{padding-bottom:1rem}h1 small a,h2 small a,h3 small a,h4 small a,h5 small a,h6 small a{display:none;color:#adb5bd}h1:hover small a,h2:hover small a,h3:hover small a,h4:hover small a,h5:hover small a,h6:hover small a{display:inline}figure{text-align:center;padding:1rem}figure figcaption{text-align:start;padding-top:1rem}section>header{font-size:1.5em}article,body>footer,section>header{padding-bottom:2rem}article>header{font-size:1.25em;margin-bottom:2rem}article>header h1,article>header h2,article>header h3,article>header h4,article>header h5,article>header h6{margin-bottom:0;padding-bottom:0}article>header p{font-size:.75em;margin:0}article.single-blog-post{padding-top:0}article,article.single-blog-post h1,article.single-blog-post h2,article.single-blog-post h3,article.single-blog-post h4,article.single-blog-post h5,article.single-blog-post h6{padding-top:2rem}code{background:#000;color:#b0b0b0;padding-left:.5em;padding-right:.5em;white-space:nowrap}pre code{display:block;overflow-x:auto;padding:.5em;white-space:pre}pre code .meta,pre code .tag .name{color:#9cd9f0}pre code,pre code .tag{color:#f7f7f7}pre code .attr{color:#9cd9f0}pre code .string{color:#b0b0b0}pre code .function{color:#f7f7f7}pre code .keyword{color:#cdee69}pre code .params{color:#9cd9f0}pre code .comment{color:#b0b0b0}a.frontEndEditIconLinks{display:block!important;height:2rem;width:2rem;margin-top:3rem;background:#72b3cc} \ No newline at end of file +*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:monospace;font-size:1.25rem;font-weight:400;line-height:1.5;color:#d3d7cf;text-align:left;background-color:#2e3436}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}dl,h1,h2,h3,h4,h5,h6,ol,p,ul{margin-top:0;margin-bottom:.5rem}dl,ol,p,ul{margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}article.single-blog-post>header,ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote,figure{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a,a:hover{text-decoration:underline}a{background-color:transparent;color:#72b3cc}a:hover{color:#9cd9f0}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}img,svg{vertical-align:middle}img{border-style:none}svg{overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#b0b0b0;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.container,body{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,body{max-width:40rem}}@media (min-width:768px){.container,body{max-width:50rem}}@media (min-width:992px){.container,body{max-width:70rem}}@media (min-width:1200px){.container,body{max-width:100rem}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row,body>header,body>main{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,body>header nav,body>header>div{position:relative;width:100%;padding-right:15px;padding-left:15px}.col-auto{position:relative;padding-right:15px;padding-left:15px}.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto,body>main>aside,body>main>section{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.33333%;max-width:8.33333%}.col-2{flex:0 0 16.66667%;max-width:16.66667%}.col-3{flex:0 0 25%;max-width:25%}.col-4,body>header nav{flex:0 0 33.33333%;max-width:33.33333%}.col-5{flex:0 0 41.66667%;max-width:41.66667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333%;max-width:58.33333%}.col-8,body>header>div{flex:0 0 66.66667%;max-width:66.66667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333%;max-width:83.33333%}.col-11{flex:0 0 91.66667%;max-width:91.66667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.33333%;max-width:8.33333%}.col-sm-2{flex:0 0 16.66667%;max-width:16.66667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333%;max-width:33.33333%}.col-sm-5{flex:0 0 41.66667%;max-width:41.66667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333%;max-width:58.33333%}.col-sm-8{flex:0 0 66.66667%;max-width:66.66667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333%;max-width:83.33333%}.col-sm-11{flex:0 0 91.66667%;max-width:91.66667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.33333%;max-width:8.33333%}.col-md-2{flex:0 0 16.66667%;max-width:16.66667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4,body>main>aside{flex:0 0 33.33333%;max-width:33.33333%}.col-md-5{flex:0 0 41.66667%;max-width:41.66667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333%;max-width:58.33333%}.col-md-8,body>main>section{flex:0 0 66.66667%;max-width:66.66667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333%;max-width:83.33333%}.col-md-11{flex:0 0 91.66667%;max-width:91.66667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.33333%;max-width:8.33333%}.col-lg-2{flex:0 0 16.66667%;max-width:16.66667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333%;max-width:33.33333%}.col-lg-5{flex:0 0 41.66667%;max-width:41.66667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333%;max-width:58.33333%}.col-lg-8{flex:0 0 66.66667%;max-width:66.66667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333%;max-width:83.33333%}.col-lg-11{flex:0 0 91.66667%;max-width:91.66667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.33333%;max-width:8.33333%}.col-xl-2{flex:0 0 16.66667%;max-width:16.66667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333%;max-width:33.33333%}.col-xl-5{flex:0 0 41.66667%;max-width:41.66667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333%;max-width:58.33333%}.col-xl-8{flex:0 0 66.66667%;max-width:66.66667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333%;max-width:83.33333%}.col-xl-11{flex:0 0 91.66667%;max-width:91.66667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}}:root{--blue: #9CD9F0;--indigo: #6610f2;--purple: #6f42c1;--pink: #FBB1F9;--red: #E09690;--orange: #fd7e14;--yellow: #FFE377;--green: #CDEE69;--teal: #20c997;--cyan: #77DFD8;--white: #F7F7F7;--gray: #6c757d;--gray-dark: #343a40;--primary: #9CD9F0;--secondary: #72B3CC;--success: #CDEE69;--info: #9CD9F0;--warning: #FFE377;--danger: #E09690;--light: #B0B0B0;--dark: #5D5D5D;--breakpoint-xs: 0;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--font-family-sans-serif: "Helvetica", sans-serif;--font-family-monospace: monospace}body>header{padding-bottom:4rem}body>header>div a{font-size:3.125rem;text-decoration:none}body>header nav{padding-top:1rem}body>header nav a{color:#b0b0b0!important}aside nav ul{list-style:none;padding-left:0}li{padding-bottom:.5rem;padding-top:.5rem}body>footer{padding-top:2rem;text-align:center}body>footer nav{padding-bottom:1rem}h1 small a,h2 small a,h3 small a,h4 small a,h5 small a,h6 small a{display:none;color:#adb5bd}h1:hover small a,h2:hover small a,h3:hover small a,h4:hover small a,h5:hover small a,h6:hover small a{display:inline}figure{text-align:center;padding:1rem}figure figcaption{text-align:start;padding-top:1rem}section>header{font-size:1.5em}article,body>footer,section>header{padding-bottom:2rem}article>header{font-size:1.25em;margin-bottom:2rem}article>header h1,article>header h2,article>header h3,article>header h4,article>header h5,article>header h6{margin-bottom:0;padding-bottom:0}article>header p{font-size:.75em;margin:0}article,article.single-blog-post h1,article.single-blog-post h2,article.single-blog-post h3,article.single-blog-post h4,article.single-blog-post h5,article.single-blog-post h6{padding-top:2rem}code{background:#000;color:#b0b0b0;padding-left:.5em;padding-right:.5em;white-space:nowrap}pre code{display:block;overflow-x:auto;padding:.5em;white-space:pre}pre code .meta,pre code .tag .name{color:#9cd9f0}pre code,pre code .tag{color:#f7f7f7}pre code .attr{color:#9cd9f0}pre code .string{color:#b0b0b0}pre code .function{color:#f7f7f7}pre code .keyword{color:#cdee69}pre code .params{color:#9cd9f0}pre code .comment{color:#b0b0b0}a.frontEndEditIconLinks{display:block!important;height:2rem;width:2rem;margin-top:3rem;background:#72b3cc}aside[class^=admonition-]{border:0;border-left:solid .25rem;padding:1rem;margin-top:2rem}article.single-blog-post,aside[class^=admonition-] h1,aside[class^=admonition-] h2,aside[class^=admonition-] h3,aside[class^=admonition-] h4,aside[class^=admonition-] h5,aside[class^=admonition-] h6{padding-top:0}aside.admonition-note{border-color:#ffe377}aside.admonition-hint{border-color:#cdee69}aside.admonition-caution,aside.admonition-danger{border-color:#c75646} \ No newline at end of file