/*!
  Theme: Gruvbox light, hard
  Author: Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox)
  License: ~ MIT (or more permissive) [via base16-schemes-source]
  Maintainer: @highlightjs/core-team
  Version: 2021.09.0
*/pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#504945;background:#f9f5d7}.hljs ::-moz-selection,.hljs::-moz-selection{background-color:#d5c4a1;color:#504945}.hljs ::selection,.hljs::selection{background-color:#d5c4a1;color:#504945}.hljs-comment{color:#bdae93}.hljs-tag{color:#665c54}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#504945}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#9d0006}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#af3a03}.hljs-class .hljs-title,.hljs-strong,.hljs-title,.hljs-title.class_{color:#b57614}.hljs-strong{font-weight:700}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#79740e}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#427b58}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#076678}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#8f3f71}.hljs-emphasis{color:#8f3f71;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#d65d0e}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}:root{--title1-font-size:40px;--title2-font-size:24px;--title3-font-size:20px;--title4-font-size:18px;--content-font-size:16px;--desc-font-size:12px;--h3-code-font-size:20px;--code-font-size:16px}@media screen and (max-width:768px){:root{--title1-font-size:32px;--title2-font-size:24px;--title3-font-size:20px;--title4-font-size:18px;--content-font-size:16px;--desc-font-size:12px;--h3-code-font-size:20px;--code-font-size:16px}}.academy-md{*{margin:0;padding:0;box-sizing:border-box;font-display:swap}::-moz-placeholder{color:#c2c2c2}::placeholder{color:#c2c2c2}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:600}html{font-size:100px}body{font-optical-sizing:auto;font-style:normal;font-size:var(--content-font-size);scroll-behavior:smooth;overflow-x:hidden}body.dark{background:#171717}a{transition:color .15s}.app{display:flex;flex-direction:column;justify-content:start;height:100vh;overflow:hidden}@media print{.app{height:auto}}.visibleMobile{display:none}.visibleMobileView{display:none!important}.video-responsive{position:relative;margin:0 0 24px;padding-bottom:56.2%}a,a:hover{text-decoration:none}.displayInline{display:inline-block}.navBarToggle{border:0 solid #fff;border-radius:4px;width:36px;height:33px;position:absolute;right:20px;padding:8px 5px;display:none}.navBarToggle .iconBar{display:block;width:22px;height:2px;border-radius:1px;margin:4px auto 0;background-color:#001934}.navBarToggle .iconBar:first-of-type{margin-top:0}.video-responsive iframe{position:absolute;width:100%;height:100%}.diffNewLine{color:#22863a;background-color:#f0fff4}.diffRemoveLine{color:red;background-color:#fcc}.navBarParent{width:100%;float:left;display:flex;align-items:center}.divider{height:30px;margin:0 15px;border-right:1px solid hsla(0,0%,100%,.3)}.githubIcon{width:15px;margin-right:5px}.githubSection{display:flex;align-items:center;color:#000;opacity:.7}.githubSection:hover{text-decoration:none;opacity:1}.navbar-default .navbar-toggle .icon-bar{background-color:#fff!important}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#001933}.headerWrapper{border-bottom:1px solid #d4dadf;box-shadow:0 1px 1px 0 rgba(116,129,141,.1);display:flex;align-items:center}.formElement{background-color:transparent;padding:4px;border-radius:5px;position:relative}.formElement:focus{outline:none;border:none}.formElement svg path{fill:#2fd2c5}.searchInput{width:100%;background-color:rgba(28,211,198,.12)!important;border-width:0!important;color:#c2c2c2;border-radius:5px;color:#fff;opacity:.6;padding:10px 10px 10px 38px;max-width:600px}.searchInput:focus,.searchInput:focus-within,.searchInput:hover,.searchInput:visited{outline:none;border:0}.searchWrapper{padding-left:0;padding-right:20px;flex:1;position:relative}.searchWrapper a{font-weight:500}.hitWrapper{background-color:#fff;padding:.7em 1em .4em;border-radius:4px;position:absolute;width:80vw;max-width:30em;top:40px;border:1px solid #ccc;box-shadow:0 1px 4px 0 rgba(0,0,0,.16);height:auto;max-height:80vh;overflow:scroll;left:0}.hitWrapper ul li{margin-top:.7em;padding-top:.7em;border-top:1px solid;list-style-type:none}.hitWrapper ul li:first-of-type{border-top:0;margin-top:0;color:#000!important;padding:0}.showResults{display:block}.hideResults{display:none}.hitWrapper span{color:#000;font-size:14px}.headerTitle{height:auto;font-size:16px;line-height:1.5;font-weight:300;color:#fff!important;margin-top:16px;text-transform:uppercase}.headerTitle a{color:#fff}.headerTitle a:hover{text-decoration:none;opacity:.8}.logoWrapper{padding:21px 0 21px 20px}.logoContent{margin-left:16px;font-size:28px;line-height:1.5;font-weight:500;padding-right:10px}.removePadd{padding:0!important}.navBarDefault{display:flex;justify-content:space-between;align-items:center;position:relative;margin-bottom:0;padding:0 30px;width:100%;height:80px;background-color:#000;z-index:1}.navBarHeader{margin:0 auto;text-align:center}.navBarBrand{display:block;position:relative;padding:0;line-height:25px;text-decoration:none;font-size:12px;font-weight:500;letter-spacing:.165em;color:#fff}.navBarBrand:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:#fff;transition:transform .5s ease-in;transform:scaleX(0);transform-origin:0 50%}.navBarBrand:hover:after{transform:scaleX(1)}.navBarUL li{list-style-type:none}.navBarUL{-webkit-overflow-scrolling:touch}.navBarUL li a{color:#fff!important;font-size:16px;font-weight:500;line-height:1em;opacity:1;padding:10px 15px}.navBarNav{display:flex;align-items:center}.navBarUL li a .shareIcon,.navBarUL li a img{width:20px}.navBarUL li a:hover{opacity:.7}code{font-family:var(--font-source-code-pro);font-size:var(--code-font-size);line-height:1.5;color:hsla(0,0%,5%,.64);white-space:pre-wrap;max-width:100%;word-break:break-word;border-radius:4px;padding:4px;border:.5px solid hsla(0,0%,5%,.1);display:inline-block}code,pre{background:hsla(0,0%,5%,.04)}pre{margin:16px 0 0;border-radius:8px;border:.5px solid hsla(0,0%,5%,.1);padding:20px}h3 code,pre code{border-radius:0;padding:0;border:none;background:none}h3 code{font-size:var(--h3-code-font-size);font-weight:600;line-height:1.5;color:#0c0c0c}blockquote{position:relative;font-size:var(--content-font-size);margin-top:16px;border-radius:8px;background:hsla(0,0%,5%,.04);padding:16px 24px 16px 56px;line-height:1.4;font-weight:500;color:hsla(0,0%,5%,.64);p{margin:0}&:before{content:"";position:absolute;left:24px;top:16px;width:24px;height:24px;background-image:url(/images/academy/note.png);background-size:contain}strong{font-weight:600;color:#0c0c0c;&:first-child{font-size:var(--title3-font-size);line-height:1.2}}}a{color:#2e70ff;text-decoration:underline;cursor:pointer}.socialWrapper{display:flex;align-items:center}.socialWrapper li{display:inline-block}.socialWrapper li a{display:contents}.discordBtn,.twitterBtn{border-radius:4px;border:1px solid #d1d2d3;background-color:#f1f5f8;width:20px;height:20px;padding-top:2px;margin-left:8px;display:flex;align-items:center;justify-content:center;opacity:.8;cursor:pointer}.twitterBtn img{width:12px!important}.discordBtn img{width:10px!important}.discordBtn:hover,.twitterBtn:hover{opacity:1}.discordBtn{img{width:10px}}.sidebarTitle{background-color:#f8f8f8;padding:18px 16px;font-size:18px;font-weight:600;color:#001934;display:flex;align-items:center}.sideBarShow{display:none}.sidebarTitle a{color:#001934}.greenCircle{width:8px;height:8px;background-color:#1cd3c6;border-radius:50%;margin:0 12px}.headerNav{padding:0 24px;color:#001933;font-size:16px;font-weight:500;line-height:1em}.headerNav a{color:#001933}.headerNav a,.headerNav a:hover{text-decoration:none}.logoWrapper img{width:40px}.sideBarUL{.item{position:relative;list-style:none;line-height:20px;font-size:16px;font-weight:500;letter-spacing:.01em;a{display:flex;align-items:center;justify-content:space-between;width:100%;height:66px;text-decoration:none;color:rgba(0,0,0,.8)}&.active{>a{color:#2e70ff;background:rgba(62,108,255,.1);border-radius:4px}&:before{content:"";position:absolute;top:50%;width:7px;height:18px;background:#2e70ff;border-radius:12px;transform:translateY(-50%)}}}.directory{padding-right:42px;cursor:pointer}&>li>ul>li>ul>li{position:relative;list-style-type:none;margin-bottom:12px;width:auto;background:hsla(0,0%,100%,.3);border:.5px solid hsla(0,0%,43%,.5);border-radius:4px;overflow:hidden;&.item{line-height:140%;font-size:16px;&.item.active:before{left:-4px}&:hover{background:rgba(178,185,195,.2)}}.directory,a{padding:0 42px 0 24px}&>ul{padding:0 24px 24px;&>li.item{font-weight:500;font-size:var(--content-font-size);line-height:1.2;a{padding:8px 14px}&:hover{background:rgba(178,185,196,.3);border-radius:4px}&.active:hover{background:unset}&.item.active:before{left:-28px}}}.collapser{position:absolute;top:28px;right:24px;width:18px;height:18px;background:transparent;border:none;transition:transform .3s cubic-bezier(.83,0,.17,1);outline:none;z-index:1;cursor:pointer;&.closed{transform:rotate(-90deg)}svg{width:100%;height:100%}}}}.firstLevel ul li .collapser svg path{fill:#000!important}.active .collapser>svg>path{fill:#001933!important}.showFrontLine .active>a,.showFrontLine .item>a:hover{background-color:#001933}.firstLevel>ul>.item{margin-left:0!important}.showFrontLine .item .item{border-left:1px solid #e6ecf1;padding:0;width:calc(100% - 16px)!important}.showFrontLine .item .active>a{border-color:#e6ecf1!important;border-style:solid none solid solid;border-width:1px 0 1px 1px;background-color:#1ed3c6!important;color:#fff}.titleWrapper{img{width:100%;border-radius:8px}}.gitBtn{height:30px;min-height:30px;display:flex;align-items:center}.gitBtn img{width:15px;display:inline-block;margin-right:5px}.addPaddTopBottom{margin-top:32px}table{width:100%;border-collapse:separate!important;border-spacing:0;border-radius:8px;border:1px solid rgba(0,0,0,.08);strong{font-weight:600}}table tr{margin:0;padding:0;color:#0c0c0c}table tr td,table tr th{margin:0;padding:16px 32px;text-align:left;font-size:var(--content-font-size);line-height:1.4;&:not(:last-child){border-right:1px solid rgba(0,0,0,.1)}}table tr th{font-weight:550;color:hsla(0,0%,5%,.5)}table thead{background-color:hsla(0,0%,5%,.04)}table tbody tr{td{color:#0c0c0c}&:nth-child(2n){background-color:hsla(0,0%,5%,.04)}}table tr td :first-of-type,table tr th :first-of-type{margin-top:0}table tr td :last-child,table tr th :last-child{margin-bottom:0}img{max-width:100%;border-radius:8px;max-height:80lvh}.githubBtn{font-size:16px;padding:10px 0 10px 15px;max-height:40px}.githubBtn,.githubBtn span span{display:flex;align-items:center}.communitySection{font-size:24px;font-weight:700}.authorSection{padding:20px 0}.authorName,.authorSection{display:flex;align-items:center}.authorImg img{width:75px;height:75px;border-radius:50%;min-width:75px;max-width:75px;min-height:75px;max-height:75px}.authorDetails{padding-left:10px}.authorDesc{padding-top:5px;font-size:14px}.authorName img{margin-left:10px;display:inline-block;width:20px}.authorName img:hover{opacity:.7}h1{margin:48px 0 0;font-size:var(--title1-font-size);font-weight:650;line-height:1.5;color:rgba(0,0,0,.9);text-wrap:pretty;&:first-child{margin-top:0}&:after{content:"";width:6px;height:6px;display:inline-block;background-color:#ff5f34;margin-left:2px}}h2{margin:48px 0 0;font-size:var(--title2-font-size);font-weight:650;line-height:1.5;color:#0c0c0c;&:first-child{margin-top:0}}h3{margin:32px 0 0;font-size:var(--title3-font-size)}h3,h4{font-weight:650;line-height:1.5;color:#0c0c0c}h4{margin:20px 0 0;font-size:var(--title4-font-size)}h5{font-size:16px;font-weight:400}h5,h6{margin:32px 0 16px;line-height:1.5}h6{font-size:14px;font-weight:300}p{margin:14px 0 12px;font-size:var(--content-font-size);line-height:1.6;color:hsla(0,0%,5%,.6);strong{font-weight:600;color:#0c0c0c}img{display:block;margin:32px 0;border-radius:8px}}iframe,video{display:block;margin:32px 0;border-radius:8px}video{max-height:80lvh}ul{margin:12px 0 0;list-style-type:disc;&>li{position:relative;margin-top:10px;margin-left:24px;line-height:1.4;font-size:var(--content-font-size);color:hsla(0,0%,5%,.6);strong{color:#0c0c0c;font-weight:600}&:has(code){line-height:2.1}}}ol{position:relative;margin:14px 0 0;font-size:var(--content-font-size);color:hsla(0,0%,5%,.6);line-height:1.4;&>li{padding-left:25px;margin-top:10px;counter-increment:listItem;strong{color:#0c0c0c;font-weight:600}&:before{content:counter(listItem) ".";margin:0 6px 0 8px;position:absolute;left:0}&>p:first-child{display:inline;margin:0}}}li>ol,li>ul{margin:0}li{img{margin:24px 0;border-radius:8px}}.poweredBy{font-size:.6em;text-align:end;padding:0}.topnav{-webkit-transition:top .5s,bottom .5s}.table{width:100%;margin-top:16px}@media screen and (max-width:768px){.app{display:block;height:auto;overflow:auto}.formElement svg path{fill:#001934}.visibleMobileView{display:block!important}.searchInput{color:#001934}.socialWrapper{position:absolute;right:10px;top:29px}.responsive{margin-top:15px;position:relative;padding-bottom:20px;border-top:1px solid #fff}.headerTitle{padding-right:50px;font-size:16px}.topnav.responsive .visibleMobile{display:block}.topnav .navBarUL{display:none}.topnav.responsive .navBarUL{display:block;text-align:left}.hiddenMobile{display:none!important}hr{margin-top:0;margin-bottom:0}.navBarParent{display:block}.separator{margin-top:20px;margin-bottom:20px}.navBarULRight{position:static}.navBarUL{display:flex;align-items:center;margin:7.5px 0}.navBarUL li{height:37px}.navBarUL li a{font-size:14px;padding:10px 15px}.navBarToggle{margin-right:0;display:block;position:absolute;left:11px;top:15px;background:#fff}.navBarDefault{padding:20px;width:100%;height:60px}.navBarHeader{width:1.3rem;line-height:20px;img{max-width:100%;vertical-align:middle;display:inline-block}}.navBarBrand{font-weight:500;font-size:.12rem;line-height:.1rem;letter-spacing:.165em;text-transform:uppercase;color:#fff}.gitBtn{display:inline-block}.mobileView{text-align:left!important;padding-left:0!important}.searchWrapper{padding:0;bottom:0;width:calc(100% - 70px);position:absolute;left:40px;top:8px}.hitWrapper{width:100%;right:0;top:35px;max-height:-moz-fit-content;max-height:fit-content;position:static}.addPaddTopBottom{margin:.24rem 0 0;padding-top:.24rem;border-top:.01rem solid rgba(0,0,0,.1)}h1{margin:48px 0 0;font-size:var(--title1-font-size);font-weight:650;line-height:1.5;text-wrap:pretty;&:after{content:"";width:4px;height:4px;display:inline-block;background-color:#ff5f34;margin-left:2px}}h2{margin:48px 0 0;font-size:var(--title2-font-size)}h2,h3{font-weight:650;line-height:1.5;color:#0c0c0c}h3{margin:32px 0 0;font-size:var(--title3-font-size)}h4{margin:20px 0 0;font-size:var(--title4-font-size);font-weight:650;line-height:1.5;color:#0c0c0c}p{margin:14px 0 12px;line-height:1.6;font-size:var(--content-font-size);color:hsla(0,0%,5%,.6);strong{font-weight:600;color:#0c0c0c}img{display:block;margin:24px 0;border-radius:8px}}iframe,video{display:block;margin:24px 0;border-radius:6px}ul{margin:12px 0 0;list-style-type:disc;&>li{position:relative;margin-top:10px;margin-left:24px;line-height:1.4;font-size:var(--content-font-size);color:hsla(0,0%,5%,.6);strong{color:#0c0c0c;font-weight:600}}}ol{position:relative;margin:14px 0 0 8px;font-size:var(--content-font-size);color:hsla(0,0%,5%,.6);line-height:1.4;&>li{padding-left:25px;margin-top:10px;counter-increment:listItem;strong{color:#0c0c0c;font-weight:600}&:before{content:counter(listItem) ".";margin:0 6px 0 0;position:absolute;left:0}}}li>ol,li>ul{margin:0}.table{width:100%;display:flex;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none;&::-webkit-scrollbar{display:none}}}}